@ynput/ayon-frontend-shared 0.2.26 → 0.2.28

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 (367) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +13 -11
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/api.cjs.js +1 -1
  9. package/dist/api.es.js +153 -151
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +62 -51
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.es.js +12 -6
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  17. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  18. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  19. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  20. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  21. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  22. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
  25. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
  29. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
  33. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  34. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
  35. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
  36. package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
  37. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
  38. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
  39. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
  40. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
  41. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
  42. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
  43. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
  44. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
  45. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
  46. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
  47. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  48. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
  49. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  51. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
  53. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  54. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  55. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  56. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  57. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  58. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  59. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  60. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  61. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  62. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  63. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  64. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  65. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  66. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
  67. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
  68. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
  69. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
  70. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
  71. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
  72. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
  73. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
  74. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  75. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
  77. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  78. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  79. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  80. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
  81. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  82. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
  83. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
  84. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
  85. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
  86. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  89. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  90. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  91. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
  93. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  94. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  95. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  96. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  97. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  98. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  99. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  100. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  102. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  103. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  104. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  105. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  106. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
  107. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
  108. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
  109. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
  110. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  111. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  112. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  113. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  114. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  115. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  116. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  117. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  118. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  119. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  121. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  122. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  123. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  124. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  125. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  126. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  127. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  128. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +146 -157
  129. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  130. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
  131. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  132. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
  133. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  134. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  135. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  136. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  137. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  138. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  139. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  140. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  141. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  142. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  143. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  144. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  145. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  146. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  147. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  148. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  149. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  150. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  151. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  152. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  153. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  154. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  155. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  156. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  157. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  158. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  159. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  160. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  161. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  164. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +413 -396
  165. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  166. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
  167. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  168. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
  169. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  170. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +136 -129
  173. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  174. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
  175. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
  177. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  178. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  181. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  182. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
  183. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
  185. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  189. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  191. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  192. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
  193. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  196. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
  197. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
  201. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
  207. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +65 -60
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
  247. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  268. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  269. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  271. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  272. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +118 -103
  275. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
  277. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
  279. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  280. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  281. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
  283. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  284. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  286. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
  287. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
  288. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
  289. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
  290. package/dist/shared/src/context/MenuContext.cjs.js +2 -0
  291. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
  292. package/dist/shared/src/context/MenuContext.es.js +28 -0
  293. package/dist/shared/src/context/MenuContext.es.js.map +1 -0
  294. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  295. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  296. package/dist/shared/src/context/PowerpackContext.es.js +20 -15
  297. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  298. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  299. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  300. package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
  301. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  302. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  303. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  304. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
  305. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
  306. package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
  307. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
  308. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
  309. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
  310. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
  311. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
  312. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
  313. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
  314. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
  315. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
  316. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
  317. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
  318. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
  319. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
  320. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
  321. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
  322. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
  323. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
  324. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
  325. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
  326. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
  327. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
  328. package/dist/types/api/generated/entityLists.d.ts +8 -8
  329. package/dist/types/api/generated/users.d.ts +18 -14
  330. package/dist/types/api/generated/views.d.ts +47 -9
  331. package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
  332. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  333. package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
  334. package/dist/types/api/queries/users/getUsers.d.ts +132 -0
  335. package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
  336. package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
  337. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
  338. package/dist/types/components/AccessUser/index.d.ts +1 -0
  339. package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
  340. package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
  341. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
  342. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
  343. package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
  344. package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
  345. package/dist/types/components/ListMetaData/index.d.ts +1 -0
  346. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
  347. package/dist/types/components/Powerpack/index.d.ts +1 -0
  348. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
  349. package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
  350. package/dist/types/components/index.d.ts +4 -0
  351. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
  352. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
  353. package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
  354. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
  355. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
  356. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
  357. package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
  358. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
  359. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
  360. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
  361. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
  362. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
  363. package/dist/types/containers/Views/index.d.ts +6 -2
  364. package/dist/types/context/MenuContext.d.ts +12 -0
  365. package/dist/types/context/PowerpackContext.d.ts +1 -1
  366. package/dist/types/index.d.ts +1 -0
  367. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackContext.cjs.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading }] = useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n } else if (isLoaded) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoading","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":"ogJAkBO,MAAMA,EAET,CACF,OAAQ,CACN,MAAO,SACP,YAAa,sDACb,OAAQ,kCACV,EACA,YAAa,CACX,MAAO,cACP,YAAa,2DACb,OAAQ,6BACV,EACA,SAAU,CACR,MAAO,kBACP,YAAa,uDACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,yEACb,OAAQ,4BACV,EACA,eAAgB,CACd,MAAO,kBACP,YAAa,iFACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,iFACb,OAAQ,2BACV,EACA,YAAa,CACX,MAAO,eACP,YAAa,+EACb,OAAQ,6BAAA,CAEZ,EAQMC,EAAmBC,gBAAgD,MAAS,EAErEC,EAAoB,CAAC,CAChC,SAAAC,EACA,MAAAC,CACF,IAGM,CACJ,KAAM,CAACC,EAAmBC,CAAkB,EAC1CC,EAAAA,SAAoD,IAAI,EAEpDC,EAA0BC,GACzBA,EACEV,EAAkBU,CAAQ,EADX,KAKlB,CAACC,EAAcC,CAAe,EAAIJ,EAAAA,SAAS,EAAK,EAMhDK,EAAkD,SAAY,GAG9D,CAACC,EAAmB,CAAE,SAAAC,EAAU,UAAAC,CAAW,CAAA,EAAIC,EAAAA,cAAyC,CAC5F,MAAO,YACP,OAAQ,UACR,OAAQ,oBACR,SAAUJ,CAAA,CACX,EAEDK,EAAAA,UAAU,IAAM,EACO,SAAY,CAC3B,IAAAb,GAAA,YAAAA,EAAO,gBAAiB,OAClB,QAAA,KAAK,6BAA8BA,EAAM,YAAY,EAC7DO,EAAgBP,EAAM,YAAY,UACzBU,EACL,GAAA,CACI,MAAAI,EAAkB,MAAML,EAAkB,EAChDF,EAAgBO,CAAe,QACxBC,EAAO,CACN,QAAA,MAAM,gCAAiCA,CAAK,EACpDR,EAAgB,EAAK,CAAA,CAG3B,GAEa,CACZ,EAAA,CAACP,EAAOU,EAAUD,CAAiB,CAAC,EAEvC,MAAMO,EAAQC,EAAA,QACZ,KAAO,CACL,aAAAX,EACA,kBAAAL,EACA,mBAAAC,EACA,gBAAiBE,EAAuBH,CAAiB,CAAA,GAE3D,CAACK,EAAcL,EAAmBC,CAAkB,CACtD,EAEA,OAAQgB,EAAAA,kBAAAA,IAAAtB,EAAiB,SAAjB,CAA0B,MAAAoB,EAAe,SAAAjB,CAAS,CAAA,CAC5D,EAEaoB,EAAe,IAAM,CAC1B,MAAAC,EAAUC,aAAWzB,CAAgB,EAC3C,GAAIwB,IAAY,OACR,MAAA,IAAI,MAAM,sDAAsD,EAEjE,OAAAA,CACT"}
1
+ {"version":3,"file":"PowerpackContext.cjs.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'listAccess'\n | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n listAccess: {\n label: 'List Access',\n description: 'Manage and control access to your lists with advanced sharing options.',\n bullet: 'Advanced list sharing options',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading }] = useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n } else if (isLoaded) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoading","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":"ogJAmBO,MAAMA,EAET,CACF,OAAQ,CACN,MAAO,SACP,YAAa,sDACb,OAAQ,kCACV,EACA,YAAa,CACX,MAAO,cACP,YAAa,2DACb,OAAQ,6BACV,EACA,SAAU,CACR,MAAO,kBACP,YAAa,uDACb,OAAQ,6BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,yEACb,OAAQ,4BACV,EACA,eAAgB,CACd,MAAO,kBACP,YAAa,iFACb,OAAQ,6BACV,EACA,WAAY,CACV,MAAO,cACP,YAAa,yEACb,OAAQ,+BACV,EACA,gBAAiB,CACf,MAAO,mBACP,YAAa,iFACb,OAAQ,2BACV,EACA,YAAa,CACX,MAAO,eACP,YAAa,+EACb,OAAQ,6BAAA,CAEZ,EAQMC,EAAmBC,gBAAgD,MAAS,EAErEC,EAAoB,CAAC,CAChC,SAAAC,EACA,MAAAC,CACF,IAGM,CACJ,KAAM,CAACC,EAAmBC,CAAkB,EAC1CC,EAAAA,SAAoD,IAAI,EAEpDC,EAA0BC,GACzBA,EACEV,EAAkBU,CAAQ,EADX,KAKlB,CAACC,EAAcC,CAAe,EAAIJ,EAAAA,SAAS,EAAK,EAMhDK,EAAkD,SAAY,GAG9D,CAACC,EAAmB,CAAE,SAAAC,EAAU,UAAAC,CAAW,CAAA,EAAIC,EAAAA,cAAyC,CAC5F,MAAO,YACP,OAAQ,UACR,OAAQ,oBACR,SAAUJ,CAAA,CACX,EAEDK,EAAAA,UAAU,IAAM,EACO,SAAY,CAC3B,IAAAb,GAAA,YAAAA,EAAO,gBAAiB,OAClB,QAAA,KAAK,6BAA8BA,EAAM,YAAY,EAC7DO,EAAgBP,EAAM,YAAY,UACzBU,EACL,GAAA,CACI,MAAAI,EAAkB,MAAML,EAAkB,EAChDF,EAAgBO,CAAe,QACxBC,EAAO,CACN,QAAA,MAAM,gCAAiCA,CAAK,EACpDR,EAAgB,EAAK,CAAA,CAG3B,GAEa,CACZ,EAAA,CAACP,EAAOU,EAAUD,CAAiB,CAAC,EAEvC,MAAMO,EAAQC,EAAA,QACZ,KAAO,CACL,aAAAX,EACA,kBAAAL,EACA,mBAAAC,EACA,gBAAiBE,EAAuBH,CAAiB,CAAA,GAE3D,CAACK,EAAcL,EAAmBC,CAAkB,CACtD,EAEA,OAAQgB,EAAAA,kBAAAA,IAAAtB,EAAiB,SAAjB,CAA0B,MAAAoB,EAAe,SAAAjB,CAAS,CAAA,CAC5D,EAEaoB,EAAe,IAAM,CAC1B,MAAAC,EAAUC,aAAWzB,CAAgB,EAC3C,GAAIwB,IAAY,OACR,MAAA,IAAI,MAAM,sDAAsD,EAEjE,OAAAA,CACT"}
@@ -1,5 +1,5 @@
1
- import { j as f } from "../../../_virtual/jsx-runtime.es.js";
2
- import { createContext as b, useContext as k, useState as n, useEffect as v, useMemo as h } from "react";
1
+ import { j as b } from "../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext as f, useContext as h, useState as n, useEffect as v, useMemo as k } from "react";
3
3
  import { useLoadModule as P } from "../hooks/useLoadModule.es.js";
4
4
  import "../../../_virtual/runtime.es.js";
5
5
  import "../../../_virtual/semver.es.js";
@@ -121,6 +121,11 @@ const L = {
121
121
  description: "Add custom attributes to your lists for better collaboration and organization.",
122
122
  bullet: "Custom attributes for lists"
123
123
  },
124
+ listAccess: {
125
+ label: "List Access",
126
+ description: "Manage and control access to your lists with advanced sharing options.",
127
+ bullet: "Advanced list sharing options"
128
+ },
124
129
  groupAttributes: {
125
130
  label: "Group Attributes",
126
131
  description: "Group tasks by assignees, status, or other attributes for better organization.",
@@ -131,15 +136,15 @@ const L = {
131
136
  description: "Save custom views and share them with team members for better collaboration.",
132
137
  bullet: "Save and share custom views"
133
138
  }
134
- }, l = b(void 0), uo = ({
139
+ }, l = f(void 0), uo = ({
135
140
  children: o,
136
141
  debug: t
137
142
  }) => {
138
- const [r, s] = n(null), u = (e) => e ? L[e] : null, [m, i] = n(!1), d = async () => !1, [a, { isLoaded: c, isLoading: y }] = P({
143
+ const [r, p] = n(null), d = (e) => e ? L[e] : null, [m, i] = n(!1), u = async () => !1, [a, { isLoaded: c, isLoading: A }] = P({
139
144
  addon: "powerpack",
140
145
  remote: "license",
141
146
  module: "checkPowerLicense",
142
- fallback: d
147
+ fallback: u
143
148
  });
144
149
  v(() => {
145
150
  (async () => {
@@ -147,25 +152,25 @@ const L = {
147
152
  console.warn("Using debug power license:", t.powerLicense), i(t.powerLicense);
148
153
  else if (c)
149
154
  try {
150
- const p = await a();
151
- i(p);
152
- } catch (p) {
153
- console.error("Error checking power license:", p), i(!1);
155
+ const s = await a();
156
+ i(s);
157
+ } catch (s) {
158
+ console.error("Error checking power license:", s), i(!1);
154
159
  }
155
160
  })();
156
161
  }, [t, c, a]);
157
- const w = h(
162
+ const w = k(
158
163
  () => ({
159
164
  powerLicense: m,
160
165
  selectedPowerPack: r,
161
- setPowerpackDialog: s,
162
- powerpackDialog: u(r)
166
+ setPowerpackDialog: p,
167
+ powerpackDialog: d(r)
163
168
  }),
164
- [m, r, s]
169
+ [m, r, p]
165
170
  );
166
- return /* @__PURE__ */ f.jsx(l.Provider, { value: w, children: o });
171
+ return /* @__PURE__ */ b.jsx(l.Provider, { value: w, children: o });
167
172
  }, wo = () => {
168
- const o = k(l);
173
+ const o = h(l);
169
174
  if (o === void 0)
170
175
  throw new Error("usePowerpack must be used within a PowerpackProvider");
171
176
  return o;
@@ -1 +1 @@
1
- {"version":3,"file":"PowerpackContext.es.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading }] = useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n } else if (isLoaded) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoading","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAMA,IAET;AAAA,EACF,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EAAA;AAEZ,GAQMC,IAAmBC,EAAgD,MAAS,GAErEC,KAAoB,CAAC;AAAA,EAChC,UAAAC;AAAA,EACA,OAAAC;AACF,MAGM;AACJ,QAAM,CAACC,GAAmBC,CAAkB,IAC1CC,EAAoD,IAAI,GAEpDC,IAAyB,CAACC,MACzBA,IACEV,EAAkBU,CAAQ,IADX,MAKlB,CAACC,GAAcC,CAAe,IAAIJ,EAAS,EAAK,GAMhDK,IAAkD,YAAY,IAG9D,CAACC,GAAmB,EAAE,UAAAC,GAAU,WAAAC,EAAW,CAAA,IAAIC,EAAyC;AAAA,IAC5F,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUJ;AAAA,EAAA,CACX;AAED,EAAAK,EAAU,MAAM;AAgBD,KAfQ,YAAY;AAC3B,WAAAb,KAAA,gBAAAA,EAAO,kBAAiB;AAClB,gBAAA,KAAK,8BAA8BA,EAAM,YAAY,GAC7DO,EAAgBP,EAAM,YAAY;AAAA,eACzBU;AACL,YAAA;AACI,gBAAAI,IAAkB,MAAML,EAAkB;AAChD,UAAAF,EAAgBO,CAAe;AAAA,iBACxBC,GAAO;AACN,kBAAA,MAAM,iCAAiCA,CAAK,GACpDR,EAAgB,EAAK;AAAA,QAAA;AAAA,IAG3B,GAEa;AAAA,EACZ,GAAA,CAACP,GAAOU,GAAUD,CAAiB,CAAC;AAEvC,QAAMO,IAAQC;AAAA,IACZ,OAAO;AAAA,MACL,cAAAX;AAAA,MACA,mBAAAL;AAAA,MACA,oBAAAC;AAAA,MACA,iBAAiBE,EAAuBH,CAAiB;AAAA,IAAA;AAAA,IAE3D,CAACK,GAAcL,GAAmBC,CAAkB;AAAA,EACtD;AAEA,SAAQgB,gBAAAA,EAAAA,IAAAtB,EAAiB,UAAjB,EAA0B,OAAAoB,GAAe,UAAAjB,EAAS,CAAA;AAC5D,GAEaoB,KAAe,MAAM;AAC1B,QAAAC,IAAUC,EAAWzB,CAAgB;AAC3C,MAAIwB,MAAY;AACR,UAAA,IAAI,MAAM,sDAAsD;AAEjE,SAAAA;AACT;"}
1
+ {"version":3,"file":"PowerpackContext.es.js","sources":["../../../../src/context/PowerpackContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport { createContext, useContext, ReactNode, useState, useEffect, useMemo } from 'react'\n\nexport type PowerpackFeature =\n | 'slicer'\n | 'annotations'\n | 'releases'\n | 'advancedFilters'\n | 'listAttributes'\n | 'listAccess'\n | 'groupAttributes'\n | 'sharedViews'\nexport type PowerpackDialogType = {\n label: string\n description: string\n bullet: string\n icon?: string\n}\n\nexport const powerpackFeatures: {\n [key in PowerpackFeature]: PowerpackDialogType\n} = {\n slicer: {\n label: 'Slicer',\n description: 'Advanced filtering system for project organization.',\n bullet: 'Powerful project filtering tools',\n },\n annotations: {\n label: 'Annotations',\n description: 'Create detailed visual feedback directly on media files.',\n bullet: 'Advanced media review tools',\n },\n releases: {\n label: 'Release History',\n description: 'Access and download the complete archive of releases',\n bullet: 'Full release archive access',\n },\n advancedFilters: {\n label: 'Advanced Filters',\n description: 'Customize your view and find your data with powerful filtering options',\n bullet: 'Advanced filtering options',\n },\n listAttributes: {\n label: 'List Attributes',\n description: 'Add custom attributes to your lists for better collaboration and organization.',\n bullet: 'Custom attributes for lists',\n },\n listAccess: {\n label: 'List Access',\n description: 'Manage and control access to your lists with advanced sharing options.',\n bullet: 'Advanced list sharing options',\n },\n groupAttributes: {\n label: 'Group Attributes',\n description: 'Group tasks by assignees, status, or other attributes for better organization.',\n bullet: 'Group tasks by attributes',\n },\n sharedViews: {\n label: 'Shared Views',\n description: 'Save custom views and share them with team members for better collaboration.',\n bullet: 'Save and share custom views',\n },\n}\nexport type PowerpackContextType = {\n selectedPowerPack: null | PowerpackFeature\n setPowerpackDialog: (open: PowerpackContextType['selectedPowerPack']) => void\n powerpackDialog: PowerpackDialogType | null\n powerLicense: boolean\n}\n\nconst PowerpackContext = createContext<PowerpackContextType | undefined>(undefined)\n\nexport const PowerpackProvider = ({\n children,\n debug,\n}: {\n children: ReactNode\n debug?: { powerLicense?: boolean }\n}) => {\n const [selectedPowerPack, setPowerpackDialog] =\n useState<PowerpackContextType['selectedPowerPack']>(null)\n\n const resolvePowerPackDialog = (selected: PowerpackContextType['selectedPowerPack']) => {\n if (!selected) return null\n return powerpackFeatures[selected]\n }\n\n // check license state\n const [powerLicense, setPowerLicense] = useState(false)\n\n // Define the type for the license check function\n type CheckPowerLicenseFunction = () => Promise<boolean>\n\n // Fallback function that returns false when the module isn't loaded\n const fallbackCheckLicense: CheckPowerLicenseFunction = async () => false\n\n // Load the remote module\n const [checkPowerLicense, { isLoaded, isLoading }] = useLoadModule<CheckPowerLicenseFunction>({\n addon: 'powerpack',\n remote: 'license',\n module: 'checkPowerLicense',\n fallback: fallbackCheckLicense,\n })\n\n useEffect(() => {\n const checkLicense = async () => {\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n setPowerLicense(debug.powerLicense)\n } else if (isLoaded) {\n try {\n const hasPowerLicense = await checkPowerLicense()\n setPowerLicense(hasPowerLicense)\n } catch (error) {\n console.error('Error checking power license:', error)\n setPowerLicense(false)\n }\n }\n }\n\n checkLicense()\n }, [debug, isLoaded, checkPowerLicense])\n\n const value = useMemo(\n () => ({\n powerLicense: powerLicense,\n selectedPowerPack,\n setPowerpackDialog,\n powerpackDialog: resolvePowerPackDialog(selectedPowerPack),\n }),\n [powerLicense, selectedPowerPack, setPowerpackDialog],\n )\n\n return <PowerpackContext.Provider value={value}>{children}</PowerpackContext.Provider>\n}\n\nexport const usePowerpack = () => {\n const context = useContext(PowerpackContext)\n if (context === undefined) {\n throw new Error('usePowerpack must be used within a PowerpackProvider')\n }\n return context\n}\n"],"names":["powerpackFeatures","PowerpackContext","createContext","PowerpackProvider","children","debug","selectedPowerPack","setPowerpackDialog","useState","resolvePowerPackDialog","selected","powerLicense","setPowerLicense","fallbackCheckLicense","checkPowerLicense","isLoaded","isLoading","useLoadModule","useEffect","hasPowerLicense","error","value","useMemo","jsx","usePowerpack","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,IAET;AAAA,EACF,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,EAAA;AAEZ,GAQMC,IAAmBC,EAAgD,MAAS,GAErEC,KAAoB,CAAC;AAAA,EAChC,UAAAC;AAAA,EACA,OAAAC;AACF,MAGM;AACJ,QAAM,CAACC,GAAmBC,CAAkB,IAC1CC,EAAoD,IAAI,GAEpDC,IAAyB,CAACC,MACzBA,IACEV,EAAkBU,CAAQ,IADX,MAKlB,CAACC,GAAcC,CAAe,IAAIJ,EAAS,EAAK,GAMhDK,IAAkD,YAAY,IAG9D,CAACC,GAAmB,EAAE,UAAAC,GAAU,WAAAC,EAAW,CAAA,IAAIC,EAAyC;AAAA,IAC5F,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUJ;AAAA,EAAA,CACX;AAED,EAAAK,EAAU,MAAM;AAgBD,KAfQ,YAAY;AAC3B,WAAAb,KAAA,gBAAAA,EAAO,kBAAiB;AAClB,gBAAA,KAAK,8BAA8BA,EAAM,YAAY,GAC7DO,EAAgBP,EAAM,YAAY;AAAA,eACzBU;AACL,YAAA;AACI,gBAAAI,IAAkB,MAAML,EAAkB;AAChD,UAAAF,EAAgBO,CAAe;AAAA,iBACxBC,GAAO;AACN,kBAAA,MAAM,iCAAiCA,CAAK,GACpDR,EAAgB,EAAK;AAAA,QAAA;AAAA,IAG3B,GAEa;AAAA,EACZ,GAAA,CAACP,GAAOU,GAAUD,CAAiB,CAAC;AAEvC,QAAMO,IAAQC;AAAA,IACZ,OAAO;AAAA,MACL,cAAAX;AAAA,MACA,mBAAAL;AAAA,MACA,oBAAAC;AAAA,MACA,iBAAiBE,EAAuBH,CAAiB;AAAA,IAAA;AAAA,IAE3D,CAACK,GAAcL,GAAmBC,CAAkB;AAAA,EACtD;AAEA,SAAQgB,gBAAAA,EAAAA,IAAAtB,EAAiB,UAAjB,EAA0B,OAAAoB,GAAe,UAAAjB,EAAS,CAAA;AAC5D,GAEaoB,KAAe,MAAM;AAC1B,QAAAC,IAAUC,EAAWzB,CAAgB;AAC3C,MAAIwB,MAAY;AACR,UAAA,IAAI,MAAM,sDAAsD;AAEjE,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../../_virtual/jsx-runtime.cjs.js"),q=require("react"),x=require("../../../_virtual/runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");const c=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");const R=q.createContext({isLoading:!0,modules:[],remotesInitialized:!1}),y=({children:u,skip:a})=>{const{data:i=[],isLoading:s}=c.useListFrontendModulesQuery(void 0,{skip:a}),{data:e={},isLoading:l}=c.useGetSiteInfoQuery({full:!0},{skip:a}),[n,m]=q.useState(!1);return q.useEffect(()=>{if(s||l||n)return;if(!i.length){m(!0);return}const d=[];i.forEach(r=>{const{addonName:t,addonVersion:o,modules:f={}}=r;Object.entries(f).forEach(([g,v])=>{d.push({remote:g,addon:t,version:o,modules:v})})}),console.log("registerAddonRemotes",d),x.runtimeExports.registerRemotes(d.map(r=>{var t,o;return{name:r.remote,alias:r.remote,entry:`/addons/${r.addon||r.remote}/${r.version}/frontend/modules/${r.remote}/remoteEntry.js?server=${((t=e==null?void 0:e.releaseInfo)==null?void 0:t.version)||(e==null?void 0:e.releaseInfo)}-${(o=e==null?void 0:e.releaseInfo)==null?void 0:o.buildDate}-${new Date().getTime()}`,type:"module"}})),m(!0)},[i,s,l,n]),M.jsxRuntimeExports.jsx(R.Provider,{value:{isLoading:s,modules:i,remotesInitialized:n},children:u})},I=()=>{const u=q.useContext(R);if(u===void 0)throw new Error("useRemoteModules must be used within a RemoteModulesProvider");return u};exports.RemoteModulesProvider=y;exports.useRemoteModules=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../../_virtual/jsx-runtime.cjs.js"),q=require("react"),x=require("../../../_virtual/runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");const c=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");const R=q.createContext({isLoading:!0,modules:[],remotesInitialized:!1}),y=({children:u,skip:d})=>{const{data:i=[],isLoading:s}=c.useListFrontendModulesQuery(void 0,{skip:d}),{data:e={},isLoading:a}=c.useGetSiteInfoQuery({full:!0},{skip:d}),[n,m]=q.useState(!1);return q.useEffect(()=>{if(s||a||n)return;if(!i.length){m(!0);return}const l=[];i.forEach(r=>{const{addonName:t,addonVersion:o,modules:f={}}=r;Object.entries(f).forEach(([v,g])=>{l.push({remote:v,addon:t,version:o,modules:g})})}),x.runtimeExports.registerRemotes(l.map(r=>{var t,o;return{name:r.remote,alias:r.remote,entry:`/addons/${r.addon||r.remote}/${r.version}/frontend/modules/${r.remote}/remoteEntry.js?server=${((t=e==null?void 0:e.releaseInfo)==null?void 0:t.version)||(e==null?void 0:e.releaseInfo)}-${(o=e==null?void 0:e.releaseInfo)==null?void 0:o.buildDate}-${new Date().getTime()}`,type:"module"}})),m(!0)},[i,s,a,n]),M.jsxRuntimeExports.jsx(R.Provider,{value:{isLoading:s,modules:i,remotesInitialized:n},children:u})},I=()=>{const u=q.useContext(R);if(u===void 0)throw new Error("useRemoteModules must be used within a RemoteModulesProvider");return u};exports.RemoteModulesProvider=y;exports.useRemoteModules=I;
2
2
  //# sourceMappingURL=RemoteModulesContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","info","isLoadingInfo","useGetSiteInfoQuery","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":"k+HAqBA,MAAMA,EAAuBC,EAAAA,cAAwC,CACnE,UAAW,GACX,QAAS,CAAC,EACV,mBAAoB,EACtB,CAAC,EAOYC,EAAwB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAkB,CAE5D,KAAA,CAAE,KAAMC,EAAqB,CAAA,EAAI,UAAAC,CAAU,EAAIC,8BAA4B,OAAW,CAC1F,KAAAH,CAAA,CACD,EAEK,CAAE,KAAMI,EAAO,CAAI,EAAA,UAAWC,GAAkBC,EAAA,oBACpD,CAAE,KAAM,EAAK,EACb,CAAE,KAAAN,CAAK,CACT,EAEM,CAACO,EAAoBC,CAAqB,EAAIC,EAAAA,SAAS,EAAK,EAElEC,OAAAA,EAAAA,UAAU,IAAM,CAEV,GAAAR,GAAaG,GAAiBE,EAAoB,OAGlD,GAAA,CAACN,EAAmB,OAAQ,CAC9BO,EAAsB,EAAI,EAC1B,MAAA,CAIF,MAAMG,EAAuB,CAAC,EAEXV,EAAA,QAASW,GAAU,CACpC,KAAM,CAAE,UAAAC,EAAW,aAAAC,EAAc,QAAAC,EAAU,CAAA,CAAO,EAAAH,EAE3C,OAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,EAAQD,CAAO,IAAM,CACrDJ,EAAW,KAAK,CACd,OAAAK,EACA,MAAOH,EACP,QAASC,EACT,QAAAC,CAAA,CACD,CAAA,CACF,CAAA,CACF,EAEO,QAAA,IAAI,uBAAwBJ,CAAU,EAC9CM,EAAA,eAAA,gBACEN,EAAW,IAAK,GAAO,SAAA,OACrB,KAAM,EAAE,OACR,MAAO,EAAE,OACT,MAAO,WAAW,EAAE,OAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0BO,EAAAd,GAAA,YAAAA,EAAM,cAAN,YAAAc,EAAmB,WAAWd,GAAA,YAAAA,EAAM,YAAW,KACvEe,EAAAf,GAAA,YAAAA,EAAM,cAAN,YAAAe,EAAmB,SACrB,IAAQ,IAAA,KAAA,EAAO,QAAS,CAAA,GACxB,KAAM,QAAA,EACN,CACJ,EAEAX,EAAsB,EAAI,GACzB,CAACP,EAAoBC,EAAWG,EAAeE,CAAkB,CAAC,EAGnEa,EAAA,kBAAA,IAACxB,EAAqB,SAArB,CACC,MAAO,CACL,UAAAM,EACA,QAASD,EACT,mBAAAM,CACF,EAEC,SAAAR,CAAA,CACH,CAEJ,EAEasB,EAAmB,IAAM,CAC9B,MAAAC,EAAUC,aAAW3B,CAAoB,EAE/C,GAAI0B,IAAY,OACR,MAAA,IAAI,MAAM,8DAA8D,EAGzE,OAAAA,CACT"}
1
+ {"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","info","isLoadingInfo","useGetSiteInfoQuery","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":"k+HAqBA,MAAMA,EAAuBC,EAAAA,cAAwC,CACnE,UAAW,GACX,QAAS,CAAC,EACV,mBAAoB,EACtB,CAAC,EAOYC,EAAwB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAkB,CAE5D,KAAA,CAAE,KAAMC,EAAqB,CAAA,EAAI,UAAAC,CAAU,EAAIC,8BAA4B,OAAW,CAC1F,KAAAH,CAAA,CACD,EAEK,CAAE,KAAMI,EAAO,CAAI,EAAA,UAAWC,GAAkBC,EAAA,oBACpD,CAAE,KAAM,EAAK,EACb,CAAE,KAAAN,CAAK,CACT,EAEM,CAACO,EAAoBC,CAAqB,EAAIC,EAAAA,SAAS,EAAK,EAElEC,OAAAA,EAAAA,UAAU,IAAM,CAEV,GAAAR,GAAaG,GAAiBE,EAAoB,OAGlD,GAAA,CAACN,EAAmB,OAAQ,CAC9BO,EAAsB,EAAI,EAC1B,MAAA,CAIF,MAAMG,EAAuB,CAAC,EAEXV,EAAA,QAASW,GAAU,CACpC,KAAM,CAAE,UAAAC,EAAW,aAAAC,EAAc,QAAAC,EAAU,CAAA,CAAO,EAAAH,EAE3C,OAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,EAAQD,CAAO,IAAM,CACrDJ,EAAW,KAAK,CACd,OAAAK,EACA,MAAOH,EACP,QAASC,EACT,QAAAC,CAAA,CACD,CAAA,CACF,CAAA,CACF,EAEDE,EAAA,eAAA,gBACEN,EAAW,IAAK,GAAO,SAAA,OACrB,KAAM,EAAE,OACR,MAAO,EAAE,OACT,MAAO,WAAW,EAAE,OAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0BO,EAAAd,GAAA,YAAAA,EAAM,cAAN,YAAAc,EAAmB,WAAWd,GAAA,YAAAA,EAAM,YAAW,KACvEe,EAAAf,GAAA,YAAAA,EAAM,cAAN,YAAAe,EAAmB,SACrB,IAAQ,IAAA,KAAA,EAAO,QAAS,CAAA,GACxB,KAAM,QAAA,EACN,CACJ,EAEAX,EAAsB,EAAI,GACzB,CAACP,EAAoBC,EAAWG,EAAeE,CAAkB,CAAC,EAGnEa,EAAA,kBAAA,IAACxB,EAAqB,SAArB,CACC,MAAO,CACL,UAAAM,EACA,QAASD,EACT,mBAAAM,CACF,EAEC,SAAAR,CAAA,CACH,CAEJ,EAEasB,EAAmB,IAAM,CAC9B,MAAAC,EAAUC,aAAW3B,CAAoB,EAE/C,GAAI0B,IAAY,OACR,MAAA,IAAI,MAAM,8DAA8D,EAGzE,OAAAA,CACT"}
@@ -1,5 +1,5 @@
1
- import { j as v } from "../../../_virtual/jsx-runtime.es.js";
2
- import { createContext as g, useState as x, useEffect as I, useContext as E } from "react";
1
+ import { j as R } from "../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext as x, useState as I, useEffect as g, useContext as E } from "react";
3
3
  import { r as M } from "../../../_virtual/runtime.es.js";
4
4
  import "../api/base/client.es.js";
5
5
  import "../api/generated/graphql.es.js";
@@ -79,36 +79,36 @@ import "../api/queries/versions/updateVersions.es.js";
79
79
  import "../api/queries/views/getViews.es.js";
80
80
  import "../api/queries/views/updateViews.es.js";
81
81
  import "../api/queries/watchers/getWatchers.es.js";
82
- const l = g({
82
+ const l = x({
83
83
  isLoading: !0,
84
84
  modules: [],
85
85
  remotesInitialized: !1
86
- }), _o = ({ children: r, skip: d }) => {
86
+ }), _o = ({ children: r, skip: n }) => {
87
87
  const { data: e = [], isLoading: p } = h(void 0, {
88
- skip: d
89
- }), { data: o = {}, isLoading: a } = $(
88
+ skip: n
89
+ }), { data: o = {}, isLoading: d } = $(
90
90
  { full: !0 },
91
- { skip: d }
92
- ), [s, u] = x(!1);
93
- return I(() => {
94
- if (p || a || s) return;
91
+ { skip: n }
92
+ ), [s, a] = I(!1);
93
+ return g(() => {
94
+ if (p || d || s) return;
95
95
  if (!e.length) {
96
- u(!0);
96
+ a(!0);
97
97
  return;
98
98
  }
99
- const n = [];
99
+ const u = [];
100
100
  e.forEach((t) => {
101
101
  const { addonName: i, addonVersion: m, modules: c = {} } = t;
102
- Object.entries(c).forEach(([f, R]) => {
103
- n.push({
102
+ Object.entries(c).forEach(([f, v]) => {
103
+ u.push({
104
104
  remote: f,
105
105
  addon: i,
106
106
  version: m,
107
- modules: R
107
+ modules: v
108
108
  });
109
109
  });
110
- }), console.log("registerAddonRemotes", n), M.registerRemotes(
111
- n.map((t) => {
110
+ }), M.registerRemotes(
111
+ u.map((t) => {
112
112
  var i, m;
113
113
  return {
114
114
  name: t.remote,
@@ -117,8 +117,8 @@ const l = g({
117
117
  type: "module"
118
118
  };
119
119
  })
120
- ), u(!0);
121
- }, [e, p, a, s]), /* @__PURE__ */ v.jsx(
120
+ ), a(!0);
121
+ }, [e, p, d, s]), /* @__PURE__ */ R.jsx(
122
122
  l.Provider,
123
123
  {
124
124
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","info","isLoadingInfo","useGetSiteInfoQuery","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","r","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,IAAuBC,EAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC,GAOYC,KAAwB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAkB;AAE5D,QAAA,EAAE,MAAMC,IAAqB,CAAA,GAAI,WAAAC,EAAU,IAAIC,EAA4B,QAAW;AAAA,IAC1F,MAAAH;AAAA,EAAA,CACD,GAEK,EAAE,MAAMI,IAAO,CAAI,GAAA,WAAWC,MAAkBC;AAAA,IACpD,EAAE,MAAM,GAAK;AAAA,IACb,EAAE,MAAAN,EAAK;AAAA,EACT,GAEM,CAACO,GAAoBC,CAAqB,IAAIC,EAAS,EAAK;AAElE,SAAAC,EAAU,MAAM;AAEV,QAAAR,KAAaG,KAAiBE,EAAoB;AAGlD,QAAA,CAACN,EAAmB,QAAQ;AAC9B,MAAAO,EAAsB,EAAI;AAC1B;AAAA,IAAA;AAIF,UAAMG,IAAuB,CAAC;AAEX,IAAAV,EAAA,QAAQ,CAACW,MAAU;AACpC,YAAM,EAAE,WAAAC,GAAW,cAAAC,GAAc,SAAAC,IAAU,CAAA,EAAO,IAAAH;AAE3C,aAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,GAAQD,CAAO,MAAM;AACrD,QAAAJ,EAAW,KAAK;AAAA,UACd,QAAAK;AAAA,UACA,OAAOH;AAAA,UACP,SAASC;AAAA,UACT,SAAAC;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF,GAEO,QAAA,IAAI,wBAAwBJ,CAAU,GAC9CM,EAAA;AAAA,MACEN,EAAW,IAAI,CAACO,MAAO;;AAAA;AAAA,UACrB,MAAMA,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,OAAO,WAAWA,EAAE,SAASA,EAAE,MAAM,IAAIA,EAAE,OAAO,qBAChDA,EAAE,MACJ,4BAA0BC,IAAAf,KAAA,gBAAAA,EAAM,gBAAN,gBAAAe,EAAmB,aAAWf,KAAA,gBAAAA,EAAM,YAAW,KACvEgB,IAAAhB,KAAA,gBAAAA,EAAM,gBAAN,gBAAAgB,EAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ,GAEAZ,EAAsB,EAAI;AAAA,KACzB,CAACP,GAAoBC,GAAWG,GAAeE,CAAkB,CAAC,GAGnEc,gBAAAA,EAAA;AAAA,IAACzB,EAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL,WAAAM;AAAA,QACA,SAASD;AAAA,QACT,oBAAAM;AAAA,MACF;AAAA,MAEC,UAAAR;AAAA,IAAA;AAAA,EACH;AAEJ,GAEauB,KAAmB,MAAM;AAC9B,QAAAC,IAAUC,EAAW5B,CAAoB;AAE/C,MAAI2B,MAAY;AACR,UAAA,IAAI,MAAM,8DAA8D;AAGzE,SAAAA;AACT;"}
1
+ {"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","info","isLoadingInfo","useGetSiteInfoQuery","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","r","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,IAAuBC,EAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC,GAOYC,KAAwB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAkB;AAE5D,QAAA,EAAE,MAAMC,IAAqB,CAAA,GAAI,WAAAC,EAAU,IAAIC,EAA4B,QAAW;AAAA,IAC1F,MAAAH;AAAA,EAAA,CACD,GAEK,EAAE,MAAMI,IAAO,CAAI,GAAA,WAAWC,MAAkBC;AAAA,IACpD,EAAE,MAAM,GAAK;AAAA,IACb,EAAE,MAAAN,EAAK;AAAA,EACT,GAEM,CAACO,GAAoBC,CAAqB,IAAIC,EAAS,EAAK;AAElE,SAAAC,EAAU,MAAM;AAEV,QAAAR,KAAaG,KAAiBE,EAAoB;AAGlD,QAAA,CAACN,EAAmB,QAAQ;AAC9B,MAAAO,EAAsB,EAAI;AAC1B;AAAA,IAAA;AAIF,UAAMG,IAAuB,CAAC;AAEX,IAAAV,EAAA,QAAQ,CAACW,MAAU;AACpC,YAAM,EAAE,WAAAC,GAAW,cAAAC,GAAc,SAAAC,IAAU,CAAA,EAAO,IAAAH;AAE3C,aAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,GAAQD,CAAO,MAAM;AACrD,QAAAJ,EAAW,KAAK;AAAA,UACd,QAAAK;AAAA,UACA,OAAOH;AAAA,UACP,SAASC;AAAA,UACT,SAAAC;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF,GAEDE,EAAA;AAAA,MACEN,EAAW,IAAI,CAACO,MAAO;;AAAA;AAAA,UACrB,MAAMA,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,OAAO,WAAWA,EAAE,SAASA,EAAE,MAAM,IAAIA,EAAE,OAAO,qBAChDA,EAAE,MACJ,4BAA0BC,IAAAf,KAAA,gBAAAA,EAAM,gBAAN,gBAAAe,EAAmB,aAAWf,KAAA,gBAAAA,EAAM,YAAW,KACvEgB,IAAAhB,KAAA,gBAAAA,EAAM,gBAAN,gBAAAgB,EAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ,GAEAZ,EAAsB,EAAI;AAAA,KACzB,CAACP,GAAoBC,GAAWG,GAAeE,CAAkB,CAAC,GAGnEc,gBAAAA,EAAA;AAAA,IAACzB,EAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL,WAAAM;AAAA,QACA,SAASD;AAAA,QACT,oBAAAM;AAAA,MACF;AAAA,MAEC,UAAAR;AAAA,IAAA;AAAA,EACH;AAEJ,GAEauB,KAAmB,MAAM;AAC9B,QAAAC,IAAUC,EAAW5B,CAAoB;AAE/C,MAAI2B,MAAY;AACR,UAAA,IAAI,MAAM,8DAA8D;AAGzE,SAAAA;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLoadModule.cjs.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { usePowerpack } from '@shared/context'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["useLoadModule","addon","remote","module","fallback","minVersion","skip","remotesInitialized","modules","useRemoteModules","isLoading","setIsLoading","useState","isLoaded","setIsLoaded","isOutdated","setIsOutdated","loadedRemote","useRef","useEffect","initializedRemote","m","semver","loadRemote","e","_a"],"mappings":"wPAgBaA,EAAgB,CAAI,CAC/B,MAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EACA,WAAAC,EACA,KAAAC,EAAO,EACT,IAGK,OACH,KAAM,CAAE,mBAAAC,EAAoB,QAAAC,CAAQ,EAAIC,mBAAiB,EACnD,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAI,EACzC,CAACC,EAAUC,CAAW,EAAIF,EAAAA,SAA2B,EAAK,EAC1D,CAACG,EAAYC,CAAa,EAAIJ,EAAAA,SAAS,EAAK,EAC5CK,EAAeC,SAAUd,CAAQ,EAEvCe,OAAAA,EAAAA,UAAU,IAAM,CAEd,GAAIb,EAAM,CACRK,EAAa,EAAK,EAClBG,EAAY,EAAI,EAChB,MAAA,CAIF,GAAI,CAACP,GAAsB,CAACN,GAAS,CAACC,GAAU,CAACC,EAAQ,OAGzD,MAAMiB,EAAoBZ,EAAQ,KAAMa,GAAMA,EAAE,YAAcpB,CAAK,EAEnE,GAAI,CAACmB,EAAmB,CACtB,QAAQ,IAAI,mBAAoB,CAAE,MAAAnB,EAAO,OAAAC,EAAQ,OAAAC,EAAQ,EACzDQ,EAAa,EAAK,EAClB,MAAA,CAKA,GAAAN,GACA,CAACiB,EAAO,IAAIF,EAAkB,aAAcf,CAAU,GACtDA,EAAa,SAAWe,EAAkB,aAC1C,CACA,QAAQ,IAAI,mDAAoD,CAC9D,MAAAnB,EACA,OAAAC,EACA,OAAAC,EACA,QAASiB,EAAkB,aAC3B,SAAUf,CAAA,CACX,EAEDW,EAAc,EAAI,EAClBL,EAAa,EAAK,EAGlB,MAAA,CAOF,GAJAK,EAAc,EAAK,EAIf,CAFsBI,EAAkB,QAAQlB,CAAM,EAGxD,OAAAS,EAAa,EAAK,EACX,QAAQ,IAAI,mBAAoB,CAAE,MAAAV,EAAO,OAAAC,EAAQ,OAAAC,EAAQ,EAIlE,GAAIU,IAAaV,EAAQ,CACvBQ,EAAa,EAAK,EAClB,MAAA,CAEFY,EAAAA,eAAAA,WAA2B,GAAGrB,CAAM,IAAIC,CAAM,GAAI,CAChD,KAAM,SAAA,CACP,EACE,KAAMD,GAAW,CACR,QAAA,IAAI,gBAAiBC,CAAM,EACnCW,EAAYX,CAAM,EAClBQ,EAAa,EAAK,EACdT,IAAqBe,EAAA,QAAUf,EAAO,QAAA,CAC3C,EACA,MAAOsB,GAAM,CACZb,EAAa,EAAK,EAClB,QAAQ,MAAM,uBAAwBT,EAAQC,EAAQqB,CAAC,CAAA,CACxD,CAAA,EACF,CAACX,EAAUN,EAAoBC,EAASP,EAAOC,EAAQC,EAAQE,EAAYC,CAAI,CAAC,EAE5E,CACLW,EAAa,QACb,CACE,SAAUJ,IAAaV,EACvB,UAAAO,EACA,SAAUK,EACN,CACE,UAASU,EAAAjB,EAAQ,KAAMa,GAAMA,EAAE,YAAcpB,CAAK,IAAzC,YAAAwB,EAA4C,eAAgB,UACrE,UAAUpB,GAAA,YAAAA,EAAY,QAAQ,OAAQ,MAAO,SAAA,EAE/C,MAAA,CAER,CACF"}
1
+ {"version":3,"file":"useLoadModule.cjs.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { usePowerpack } from '@shared/context'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}"],"names":["useLoadModule","addon","remote","module","fallback","minVersion","skip","remotesInitialized","modules","useRemoteModules","isLoading","setIsLoading","useState","isLoaded","setIsLoaded","isOutdated","setIsOutdated","loadedRemote","useRef","useEffect","initializedRemote","m","semver","loadRemote","e","_a"],"mappings":"wPAgBaA,EAAgB,CAAI,CAC/B,MAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EACA,WAAAC,EACA,KAAAC,EAAO,EACT,IAGK,OACH,KAAM,CAAE,mBAAAC,EAAoB,QAAAC,CAAQ,EAAIC,mBAAiB,EACnD,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAI,EACzC,CAACC,EAAUC,CAAW,EAAIF,EAAAA,SAA2B,EAAK,EAC1D,CAACG,EAAYC,CAAa,EAAIJ,EAAAA,SAAS,EAAK,EAC5CK,EAAeC,SAAUd,CAAQ,EAEvCe,OAAAA,EAAAA,UAAU,IAAM,CAEd,GAAIb,EAAM,CACRK,EAAa,EAAK,EAClBG,EAAY,EAAI,EAChB,MAAA,CAIF,GAAI,CAACP,GAAsB,CAACN,GAAS,CAACC,GAAU,CAACC,EAAQ,OAGzD,MAAMiB,EAAoBZ,EAAQ,KAAMa,GAAMA,EAAE,YAAcpB,CAAK,EAEnE,GAAI,CAACmB,EAAmB,CACtB,QAAQ,IAAI,mBAAoB,CAAE,MAAAnB,EAAO,OAAAC,EAAQ,OAAAC,EAAQ,EACzDQ,EAAa,EAAK,EAClB,MAAA,CAKA,GAAAN,GACA,CAACiB,EAAO,IAAIF,EAAkB,aAAcf,CAAU,GACtDA,EAAa,SAAWe,EAAkB,aAC1C,CACA,QAAQ,IAAI,mDAAoD,CAC9D,MAAAnB,EACA,OAAAC,EACA,OAAAC,EACA,QAASiB,EAAkB,aAC3B,SAAUf,CAAA,CACX,EAEDW,EAAc,EAAI,EAClBL,EAAa,EAAK,EAGlB,MAAA,CAOF,GAJAK,EAAc,EAAK,EAIf,CAFsBI,EAAkB,QAAQlB,CAAM,EAGxD,OAAAS,EAAa,EAAK,EACX,QAAQ,IAAI,mBAAoB,CAAE,MAAAV,EAAO,OAAAC,EAAQ,OAAAC,EAAQ,EAIlE,GAAIU,IAAaV,EAAQ,CACvBQ,EAAa,EAAK,EAClB,MAAA,CAEFY,EAAAA,eAAAA,WAA2B,GAAGrB,CAAM,IAAIC,CAAM,GAAI,CAChD,KAAM,SAAA,CACP,EACE,KAAMD,GAAW,CACR,QAAA,IAAI,gBAAiBC,CAAM,EACnCW,EAAYX,CAAM,EAClBQ,EAAa,EAAK,EACdT,IAAqBe,EAAA,QAAUf,EAAO,QAAA,CAC3C,EACA,MAAOsB,GAAM,CACZb,EAAa,EAAK,EAClB,QAAQ,MAAM,uBAAwBT,EAAQC,EAAQqB,CAAC,CAAA,CACxD,CAAA,EACF,CAACX,EAAUN,EAAoBC,EAASP,EAAOC,EAAQC,EAAQE,EAAYC,CAAI,CAAC,EAE5E,CACLW,EAAa,QACb,CACE,SAAUJ,IAAaV,EACvB,UAAAO,EACA,SAAUK,EACN,CACE,UAASU,EAAAjB,EAAQ,KAAMa,GAAMA,EAAE,YAAcpB,CAAK,IAAzC,YAAAwB,EAA4C,eAAgB,UACrE,UAAUpB,GAAA,YAAAA,EAAY,QAAQ,OAAQ,MAAO,SAAA,EAE/C,MAAA,CAER,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLoadModule.es.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { usePowerpack } from '@shared/context'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}\n"],"names":["useLoadModule","addon","remote","module","fallback","minVersion","skip","remotesInitialized","modules","useRemoteModules","isLoading","setIsLoading","useState","isLoaded","setIsLoaded","isOutdated","setIsOutdated","loadedRemote","useRef","useEffect","initializedRemote","m","semver","loadRemote","e","_a"],"mappings":";;;;AAgBO,MAAMA,IAAgB,CAAI;AAAA,EAC/B,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC,IAAO;AACT,MAGK;;AACH,QAAM,EAAE,oBAAAC,GAAoB,SAAAC,EAAQ,IAAIC,EAAiB,GACnD,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAAUC,CAAW,IAAIF,EAA2B,EAAK,GAC1D,CAACG,GAAYC,CAAa,IAAIJ,EAAS,EAAK,GAC5CK,IAAeC,EAAUd,CAAQ;AAEvC,SAAAe,EAAU,MAAM;AAEd,QAAIb,GAAM;AACR,MAAAK,EAAa,EAAK,GAClBG,EAAY,EAAI;AAChB;AAAA,IAAA;AAIF,QAAI,CAACP,KAAsB,CAACN,KAAS,CAACC,KAAU,CAACC,EAAQ;AAGzD,UAAMiB,IAAoBZ,EAAQ,KAAK,CAACa,MAAMA,EAAE,cAAcpB,CAAK;AAEnE,QAAI,CAACmB,GAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAAnB,GAAO,QAAAC,GAAQ,QAAAC,GAAQ,GACzDQ,EAAa,EAAK;AAClB;AAAA,IAAA;AAKA,QAAAN,KACA,CAACiB,EAAO,IAAIF,EAAkB,cAAcf,CAAU,KACtDA,IAAa,WAAWe,EAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D,OAAAnB;AAAA,QACA,QAAAC;AAAA,QACA,QAAAC;AAAA,QACA,SAASiB,EAAkB;AAAA,QAC3B,UAAUf;AAAA,MAAA,CACX,GAEDW,EAAc,EAAI,GAClBL,EAAa,EAAK;AAGlB;AAAA,IAAA;AAOF,QAJAK,EAAc,EAAK,GAIf,CAFsBI,EAAkB,QAAQlB,CAAM;AAGxD,aAAAS,EAAa,EAAK,GACX,QAAQ,IAAI,oBAAoB,EAAE,OAAAV,GAAO,QAAAC,GAAQ,QAAAC,GAAQ;AAIlE,QAAIU,MAAaV,GAAQ;AACvB,MAAAQ,EAAa,EAAK;AAClB;AAAA,IAAA;AAEFY,IAAAA,EAAAA,WAA2B,GAAGrB,CAAM,IAAIC,CAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACD,MAAW;AACR,cAAA,IAAI,iBAAiBC,CAAM,GACnCW,EAAYX,CAAM,GAClBQ,EAAa,EAAK,GACdT,MAAqBe,EAAA,UAAUf,EAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAACsB,MAAM;AACZ,MAAAb,EAAa,EAAK,GAClB,QAAQ,MAAM,wBAAwBT,GAAQC,GAAQqB,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAACX,GAAUN,GAAoBC,GAASP,GAAOC,GAAQC,GAAQE,GAAYC,CAAI,CAAC,GAE5E;AAAA,IACLW,EAAa;AAAA,IACb;AAAA,MACE,UAAUJ,MAAaV;AAAA,MACvB,WAAAO;AAAA,MACA,UAAUK,IACN;AAAA,QACE,WAASU,IAAAjB,EAAQ,KAAK,CAACa,MAAMA,EAAE,cAAcpB,CAAK,MAAzC,gBAAAwB,EAA4C,iBAAgB;AAAA,QACrE,WAAUpB,KAAA,gBAAAA,EAAY,QAAQ,QAAQ,QAAO;AAAA,MAAA,IAE/C;AAAA,IAAA;AAAA,EAER;AACF;"}
1
+ {"version":3,"file":"useLoadModule.es.js","sources":["../../../../src/hooks/useLoadModule.ts"],"sourcesContent":["import { useRemoteModules } from '@shared/context/RemoteModulesContext'\nimport { loadRemote } from '@module-federation/enhanced/runtime'\nimport { useEffect, useRef, useState } from 'react'\nimport semver from 'semver'\nimport { usePowerpack } from '@shared/context'\n\ninterface Props<T> {\n addon: string\n remote: string\n module: string\n fallback: T\n debug?: boolean\n minVersion?: string // minimum version required for this module\n skip?: boolean // skip loading if module is provided externally\n}\n\nexport const useLoadModule = <T>({\n addon,\n remote,\n module,\n fallback,\n minVersion,\n skip = false,\n}: Props<T>): [\n T,\n { isLoaded: boolean; isLoading: boolean; outdated?: { current: string; required: string } },\n] => {\n const { remotesInitialized, modules } = useRemoteModules()\n const [isLoading, setIsLoading] = useState(true)\n const [isLoaded, setIsLoaded] = useState<string | boolean>(false)\n const [isOutdated, setIsOutdated] = useState(false)\n const loadedRemote = useRef<T>(fallback)\n\n useEffect(() => {\n // skip loading if module is provided externally\n if (skip) {\n setIsLoading(false)\n setIsLoaded(true)\n return\n }\n\n // wait for remotes to be initialized\n if (!remotesInitialized || !addon || !remote || !module) return\n\n // check if remote and module exist\n const initializedRemote = modules.find((m) => m.addonName === addon)\n\n if (!initializedRemote) {\n console.log('remote not found', { addon, remote, module })\n setIsLoading(false)\n return\n }\n\n // check remote meets minimum version requirement\n if (\n minVersion &&\n !semver.gte(initializedRemote.addonVersion, minVersion) &&\n minVersion + '-dev' !== initializedRemote.addonVersion\n ) {\n console.log('remote version does not meet minimum requirement', {\n addon,\n remote,\n module,\n current: initializedRemote.addonVersion,\n required: minVersion,\n })\n\n setIsOutdated(true)\n setIsLoading(false)\n\n // use fallback if version requirement not met\n return\n }\n\n setIsOutdated(false)\n\n const initializedModule = initializedRemote.modules[remote]\n\n if (!initializedModule) {\n setIsLoading(false)\n return console.log('module not found', { addon, remote, module })\n }\n\n // check if module is already loaded\n if (isLoaded === module) {\n setIsLoading(false)\n return\n }\n loadRemote<{ default: T }>(`${remote}/${module}`, {\n from: 'runtime',\n })\n .then((remote) => {\n console.log('loaded remote', module)\n setIsLoaded(module)\n setIsLoading(false)\n if (remote) loadedRemote.current = remote.default\n })\n .catch((e) => {\n setIsLoading(false)\n console.error('error loading remote', remote, module, e)\n })\n }, [isLoaded, remotesInitialized, modules, addon, remote, module, minVersion, skip])\n\n return [\n loadedRemote.current,\n {\n isLoaded: isLoaded === module,\n isLoading,\n outdated: isOutdated\n ? {\n current: modules.find((m) => m.addonName === addon)?.addonVersion || 'unknown',\n required: minVersion?.replace('-dev', '') || 'unknown',\n }\n : undefined,\n },\n ]\n}"],"names":["useLoadModule","addon","remote","module","fallback","minVersion","skip","remotesInitialized","modules","useRemoteModules","isLoading","setIsLoading","useState","isLoaded","setIsLoaded","isOutdated","setIsOutdated","loadedRemote","useRef","useEffect","initializedRemote","m","semver","loadRemote","e","_a"],"mappings":";;;;AAgBO,MAAMA,IAAgB,CAAI;AAAA,EAC/B,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC,IAAO;AACT,MAGK;;AACH,QAAM,EAAE,oBAAAC,GAAoB,SAAAC,EAAQ,IAAIC,EAAiB,GACnD,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAI,GACzC,CAACC,GAAUC,CAAW,IAAIF,EAA2B,EAAK,GAC1D,CAACG,GAAYC,CAAa,IAAIJ,EAAS,EAAK,GAC5CK,IAAeC,EAAUd,CAAQ;AAEvC,SAAAe,EAAU,MAAM;AAEd,QAAIb,GAAM;AACR,MAAAK,EAAa,EAAK,GAClBG,EAAY,EAAI;AAChB;AAAA,IAAA;AAIF,QAAI,CAACP,KAAsB,CAACN,KAAS,CAACC,KAAU,CAACC,EAAQ;AAGzD,UAAMiB,IAAoBZ,EAAQ,KAAK,CAACa,MAAMA,EAAE,cAAcpB,CAAK;AAEnE,QAAI,CAACmB,GAAmB;AACtB,cAAQ,IAAI,oBAAoB,EAAE,OAAAnB,GAAO,QAAAC,GAAQ,QAAAC,GAAQ,GACzDQ,EAAa,EAAK;AAClB;AAAA,IAAA;AAKA,QAAAN,KACA,CAACiB,EAAO,IAAIF,EAAkB,cAAcf,CAAU,KACtDA,IAAa,WAAWe,EAAkB,cAC1C;AACA,cAAQ,IAAI,oDAAoD;AAAA,QAC9D,OAAAnB;AAAA,QACA,QAAAC;AAAA,QACA,QAAAC;AAAA,QACA,SAASiB,EAAkB;AAAA,QAC3B,UAAUf;AAAA,MAAA,CACX,GAEDW,EAAc,EAAI,GAClBL,EAAa,EAAK;AAGlB;AAAA,IAAA;AAOF,QAJAK,EAAc,EAAK,GAIf,CAFsBI,EAAkB,QAAQlB,CAAM;AAGxD,aAAAS,EAAa,EAAK,GACX,QAAQ,IAAI,oBAAoB,EAAE,OAAAV,GAAO,QAAAC,GAAQ,QAAAC,GAAQ;AAIlE,QAAIU,MAAaV,GAAQ;AACvB,MAAAQ,EAAa,EAAK;AAClB;AAAA,IAAA;AAEFY,IAAAA,EAAAA,WAA2B,GAAGrB,CAAM,IAAIC,CAAM,IAAI;AAAA,MAChD,MAAM;AAAA,IAAA,CACP,EACE,KAAK,CAACD,MAAW;AACR,cAAA,IAAI,iBAAiBC,CAAM,GACnCW,EAAYX,CAAM,GAClBQ,EAAa,EAAK,GACdT,MAAqBe,EAAA,UAAUf,EAAO;AAAA,IAAA,CAC3C,EACA,MAAM,CAACsB,MAAM;AACZ,MAAAb,EAAa,EAAK,GAClB,QAAQ,MAAM,wBAAwBT,GAAQC,GAAQqB,CAAC;AAAA,IAAA,CACxD;AAAA,EAAA,GACF,CAACX,GAAUN,GAAoBC,GAASP,GAAOC,GAAQC,GAAQE,GAAYC,CAAI,CAAC,GAE5E;AAAA,IACLW,EAAa;AAAA,IACb;AAAA,MACE,UAAUJ,MAAaV;AAAA,MACvB,WAAAO;AAAA,MACA,UAAUK,IACN;AAAA,QACE,WAASU,IAAAjB,EAAQ,KAAK,CAACa,MAAMA,EAAE,cAAcpB,CAAK,MAAzC,gBAAAwB,EAA4C,iBAAgB;AAAA,QACrE,WAAUpB,KAAA,gBAAAA,EAAY,QAAQ,QAAQ,QAAO;AAAA,MAAA,IAE/C;AAAA,IAAA;AAAA,EAER;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const n=require("../../../../_virtual/jsx-runtime.cjs.js"),b=require("react"),v=require("./Menu.styled.cjs.js"),M=require("./MenuList.cjs.js");require("lodash");require("react-toastify");const g=require("../../../../shared/src/util/copyToClipboard.cjs.js");require("uuid");require("../../../../shared/src/util/pubsub.cjs.js");const m=require("@ynput/ayon-react-components"),y=({menu:R=[],onClose:o,header:a,footer:l=""})=>{const[s,i]=b.useState([]),d=(t,e,r,u)=>{if(r)return o();e&&e(t),!u&&o&&o()},x=(t,e={})=>{e.items.length?s.find(r=>r.id===e.id)||i([...s.filter(r=>r.level<e.level+1),{...e,id:e.id,level:e.level+1,parentRef:t.target}]):i(s.filter(r=>r.level<=e.level))},q=(t,e={})=>{var j,f;const r=(j=t.relatedTarget)==null?void 0:j.id,u=s.find(c=>c.id===r);if(((f=t.relatedTarget)==null?void 0:f.tagName)==="DIALOG")return i([]);u||i(s.filter(c=>c.level<=(e.level||0)+1))},p=(t,e={})=>{t.type==="mouseenter"||t.type==="keydown"?x(t,e):t.type==="mouseleave"&&q(t,e)};return n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsxs(v.Section,{children:[a&&a,n.jsxRuntimeExports.jsx(M,{items:R,handleClick:d,onSubMenu:p,level:0}),l&&n.jsxRuntimeExports.jsxs(v.Footer,{children:[l,n.jsxRuntimeExports.jsx(m.Button,{icon:"content_copy",variant:"text",onClick:()=>g.copyToClipboard(l)})]})]}),s.map((t,e)=>n.jsxRuntimeExports.jsx(M,{items:t.items,handleClick:d,...t,subMenu:!0,onSubMenu:p,onClose:()=>i(s.filter(r=>r.id!==t.id)),onChange:x},e))]})};module.exports=y;
2
+ //# sourceMappingURL=Menu.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.cjs.js","sources":["../../../../../../src/components/Menu/MenuComponents/Menu.jsx"],"sourcesContent":["import React, { useState } from 'react'\nimport * as Styled from './Menu.styled'\nimport MenuList from './MenuList'\nimport { copyToClipboard } from '@shared/util'\nimport { Button } from '@ynput/ayon-react-components'\n\nconst Menu = ({ menu = [], onClose, header, footer = '' }) => {\n const [subMenus, setSubMenus] = useState([])\n // When a menu item is clicked, the following happens:\n const handleClick = (e, onClick, url, disableClose) => {\n // this is handled by Link component inside the MenuItem\n if (url) return onClose()\n\n onClick && onClick(e)\n\n !disableClose && onClose && onClose()\n }\n\n const onMenuEnter = (e, menu = {}) => {\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 + 1),\n { ...menu, id: menu.id, level: menu.level + 1, parentRef: e.target },\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))\n }\n }\n\n const onMenuLeave = (e, menu = {}) => {\n // target where we are going\n const relatedTargetId = e.relatedTarget?.id\n const relatedTargetSubMenu = subMenus.find((m) => m.id === relatedTargetId)\n\n if (e.relatedTarget?.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 = (e, menu = {}) => {\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 items={menu} handleClick={handleClick} onSubMenu={handleSubMenu} level={0} />\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 items={menu.items}\n handleClick={handleClick}\n {...menu}\n subMenu\n onSubMenu={handleSubMenu}\n onClose={() => setSubMenus(subMenus.filter((m) => m.id !== menu.id))}\n onChange={onMenuEnter}\n />\n ))}\n </>\n )\n}\n\nexport default Menu\n"],"names":["Menu","menu","onClose","header","footer","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":"mYAMMA,EAAO,CAAC,CAAE,KAAAC,EAAO,GAAI,QAAAC,EAAS,OAAAC,EAAQ,OAAAC,EAAS,MAAS,CAC5D,KAAM,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAAS,CAAA,CAAE,EAErCC,EAAc,CAACC,EAAGC,EAASC,EAAKC,IAAiB,CAEjD,GAAAD,SAAYT,EAAQ,EAExBQ,GAAWA,EAAQD,CAAC,EAEnB,CAAAG,GAAgBV,GAAWA,EAAQ,CACtC,EAEMW,EAAc,CAACJ,EAAGR,EAAO,CAAA,IAAO,CAEhCA,EAAK,MAAM,OAGRI,EAAS,KAAMS,GAAMA,EAAE,KAAOb,EAAK,EAAE,GAE5BK,EAAA,CACV,GAAGD,EAAS,OAAQS,GAAMA,EAAE,MAAQb,EAAK,MAAQ,CAAC,EAClD,CAAE,GAAGA,EAAM,GAAIA,EAAK,GAAI,MAAOA,EAAK,MAAQ,EAAG,UAAWQ,EAAE,MAAO,CAAA,CACpE,EAISH,EAAAD,EAAS,OAAQS,GAAMA,EAAE,OAASb,EAAK,KAAK,CAAC,CAE7D,EAEMc,EAAc,CAACN,EAAGR,EAAO,CAAA,IAAO,SAE9B,MAAAe,GAAkBC,EAAAR,EAAE,gBAAF,YAAAQ,EAAiB,GACnCC,EAAuBb,EAAS,KAAMS,GAAMA,EAAE,KAAOE,CAAe,EAE1E,KAAIG,EAAAV,EAAE,gBAAF,YAAAU,EAAiB,WAAY,SAAiB,OAAAb,EAAY,EAAE,EAE3DY,GACSZ,EAAAD,EAAS,OAAQS,GAAMA,EAAE,QAAUb,EAAK,OAAS,GAAK,CAAC,CAAC,CAGxE,EAEMmB,EAAgB,CAACX,EAAGR,EAAO,CAAA,IAAO,CAClCQ,EAAE,OAAS,cAAgBA,EAAE,OAAS,UAAWI,EAAYJ,EAAGR,CAAI,EAC/DQ,EAAE,OAAS,cAAcM,EAAYN,EAAGR,CAAI,CACvD,EAEA,OAEIoB,EAAA,kBAAA,KAAAC,6BAAA,CAAA,SAAA,CAACD,yBAAAE,EAAAA,QAAA,CACE,SAAA,CAAUpB,GAAAA,EACXqB,wBAACC,GAAS,MAAOxB,EAAM,YAAAO,EAA0B,UAAWY,EAAe,MAAO,EAAG,EACpFhB,GACCiB,EAAA,kBAAA,KAACK,SAAA,CACE,SAAA,CAAAtB,EACDoB,EAAAA,kBAAAA,IAACG,EAAO,OAAA,CAAA,KAAK,eAAe,QAAQ,OAAO,QAAS,IAAMC,kBAAgBxB,CAAM,CAAG,CAAA,CAAA,CACrF,CAAA,CAAA,EAEJ,EACCC,EAAS,IAAI,CAACJ,EAAM4B,IACnBL,EAAA,kBAAA,IAACC,EAAA,CAEC,MAAOxB,EAAK,MACZ,YAAAO,EACC,GAAGP,EACJ,QAAO,GACP,UAAWmB,EACX,QAAS,IAAMd,EAAYD,EAAS,OAAQS,GAAMA,EAAE,KAAOb,EAAK,EAAE,CAAC,EACnE,SAAUY,CAAA,EAPLgB,CASR,CAAA,CAAA,EACH,CAEJ"}
@@ -0,0 +1,55 @@
1
+ import { j as n } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { useState as b } from "react";
3
+ import { Section as j, Footer as S } from "./Menu.styled.es.js";
4
+ import M from "./MenuList.es.js";
5
+ import "lodash";
6
+ import "react-toastify";
7
+ import { copyToClipboard as h } from "../../../../shared/src/util/copyToClipboard.es.js";
8
+ import "uuid";
9
+ import "../../../../shared/src/util/pubsub.es.js";
10
+ import { Button as y } from "@ynput/ayon-react-components";
11
+ const B = ({ menu: x = [], onClose: l, header: p, footer: s = "" }) => {
12
+ const [r, o] = b([]), f = (t, e, i, a) => {
13
+ if (i) return l();
14
+ e && e(t), !a && l && l();
15
+ }, u = (t, e = {}) => {
16
+ e.items.length ? r.find((i) => i.id === e.id) || o([
17
+ ...r.filter((i) => i.level < e.level + 1),
18
+ { ...e, id: e.id, level: e.level + 1, parentRef: t.target }
19
+ ]) : o(r.filter((i) => i.level <= e.level));
20
+ }, g = (t, e = {}) => {
21
+ var m, v;
22
+ const i = (m = t.relatedTarget) == null ? void 0 : m.id, a = r.find((d) => d.id === i);
23
+ if (((v = t.relatedTarget) == null ? void 0 : v.tagName) === "DIALOG") return o([]);
24
+ a || o(r.filter((d) => d.level <= (e.level || 0) + 1));
25
+ }, c = (t, e = {}) => {
26
+ t.type === "mouseenter" || t.type === "keydown" ? u(t, e) : t.type === "mouseleave" && g(t, e);
27
+ };
28
+ return /* @__PURE__ */ n.jsxs(n.Fragment, { children: [
29
+ /* @__PURE__ */ n.jsxs(j, { children: [
30
+ p && p,
31
+ /* @__PURE__ */ n.jsx(M, { items: x, handleClick: f, onSubMenu: c, level: 0 }),
32
+ s && /* @__PURE__ */ n.jsxs(S, { children: [
33
+ s,
34
+ /* @__PURE__ */ n.jsx(y, { icon: "content_copy", variant: "text", onClick: () => h(s) })
35
+ ] })
36
+ ] }),
37
+ r.map((t, e) => /* @__PURE__ */ n.jsx(
38
+ M,
39
+ {
40
+ items: t.items,
41
+ handleClick: f,
42
+ ...t,
43
+ subMenu: !0,
44
+ onSubMenu: c,
45
+ onClose: () => o(r.filter((i) => i.id !== t.id)),
46
+ onChange: u
47
+ },
48
+ e
49
+ ))
50
+ ] });
51
+ };
52
+ export {
53
+ B as default
54
+ };
55
+ //# sourceMappingURL=Menu.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.es.js","sources":["../../../../../../src/components/Menu/MenuComponents/Menu.jsx"],"sourcesContent":["import React, { useState } from 'react'\nimport * as Styled from './Menu.styled'\nimport MenuList from './MenuList'\nimport { copyToClipboard } from '@shared/util'\nimport { Button } from '@ynput/ayon-react-components'\n\nconst Menu = ({ menu = [], onClose, header, footer = '' }) => {\n const [subMenus, setSubMenus] = useState([])\n // When a menu item is clicked, the following happens:\n const handleClick = (e, onClick, url, disableClose) => {\n // this is handled by Link component inside the MenuItem\n if (url) return onClose()\n\n onClick && onClick(e)\n\n !disableClose && onClose && onClose()\n }\n\n const onMenuEnter = (e, menu = {}) => {\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 + 1),\n { ...menu, id: menu.id, level: menu.level + 1, parentRef: e.target },\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))\n }\n }\n\n const onMenuLeave = (e, menu = {}) => {\n // target where we are going\n const relatedTargetId = e.relatedTarget?.id\n const relatedTargetSubMenu = subMenus.find((m) => m.id === relatedTargetId)\n\n if (e.relatedTarget?.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 = (e, menu = {}) => {\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 items={menu} handleClick={handleClick} onSubMenu={handleSubMenu} level={0} />\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 items={menu.items}\n handleClick={handleClick}\n {...menu}\n subMenu\n onSubMenu={handleSubMenu}\n onClose={() => setSubMenus(subMenus.filter((m) => m.id !== menu.id))}\n onChange={onMenuEnter}\n />\n ))}\n </>\n )\n}\n\nexport default Menu\n"],"names":["Menu","menu","onClose","header","footer","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":";;;;;;;;;;AAMM,MAAAA,IAAO,CAAC,EAAE,MAAAC,IAAO,IAAI,SAAAC,GAAS,QAAAC,GAAQ,QAAAC,IAAS,SAAS;AAC5D,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,CAAA,CAAE,GAErCC,IAAc,CAACC,GAAGC,GAASC,GAAKC,MAAiB;AAEjD,QAAAD,UAAYT,EAAQ;AAExB,IAAAQ,KAAWA,EAAQD,CAAC,GAEnB,CAAAG,KAAgBV,KAAWA,EAAQ;AAAA,EACtC,GAEMW,IAAc,CAACJ,GAAGR,IAAO,CAAA,MAAO;AAEhCA,IAAAA,EAAK,MAAM,SAGRI,EAAS,KAAK,CAACS,MAAMA,EAAE,OAAOb,EAAK,EAAE,KAE5BK,EAAA;AAAA,MACV,GAAGD,EAAS,OAAO,CAACS,MAAMA,EAAE,QAAQb,EAAK,QAAQ,CAAC;AAAA,MAClD,EAAE,GAAGA,GAAM,IAAIA,EAAK,IAAI,OAAOA,EAAK,QAAQ,GAAG,WAAWQ,EAAE,OAAO;AAAA,IAAA,CACpE,IAISH,EAAAD,EAAS,OAAO,CAACS,MAAMA,EAAE,SAASb,EAAK,KAAK,CAAC;AAAA,EAE7D,GAEMc,IAAc,CAACN,GAAGR,IAAO,CAAA,MAAO;;AAE9B,UAAAe,KAAkBC,IAAAR,EAAE,kBAAF,gBAAAQ,EAAiB,IACnCC,IAAuBb,EAAS,KAAK,CAACS,MAAMA,EAAE,OAAOE,CAAe;AAE1E,UAAIG,IAAAV,EAAE,kBAAF,gBAAAU,EAAiB,aAAY,SAAiB,QAAAb,EAAY,EAAE;AAEhE,IAAKY,KACSZ,EAAAD,EAAS,OAAO,CAACS,MAAMA,EAAE,UAAUb,EAAK,SAAS,KAAK,CAAC,CAAC;AAAA,EAGxE,GAEMmB,IAAgB,CAACX,GAAGR,IAAO,CAAA,MAAO;AAClC,IAAAQ,EAAE,SAAS,gBAAgBA,EAAE,SAAS,YAAWI,EAAYJ,GAAGR,CAAI,IAC/DQ,EAAE,SAAS,gBAAcM,EAAYN,GAAGR,CAAI;AAAA,EACvD;AAEA,SAEIoB,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAACD,gBAAAA,OAAAE,GAAA,EACE,UAAA;AAAA,MAAUpB,KAAAA;AAAA,MACXqB,gBAAAA,MAACC,KAAS,OAAOxB,GAAM,aAAAO,GAA0B,WAAWY,GAAe,OAAO,GAAG;AAAA,MACpFhB,KACCiB,gBAAAA,EAAA,KAACK,GAAA,EACE,UAAA;AAAA,QAAAtB;AAAA,QACDoB,gBAAAA,EAAAA,IAACG,GAAO,EAAA,MAAK,gBAAe,SAAQ,QAAO,SAAS,MAAMC,EAAgBxB,CAAM,EAAG,CAAA;AAAA,MAAA,EACrF,CAAA;AAAA,IAAA,GAEJ;AAAA,IACCC,EAAS,IAAI,CAACJ,GAAM4B,MACnBL,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QAEC,OAAOxB,EAAK;AAAA,QACZ,aAAAO;AAAA,QACC,GAAGP;AAAAA,QACJ,SAAO;AAAA,QACP,WAAWmB;AAAA,QACX,SAAS,MAAMd,EAAYD,EAAS,OAAO,CAACS,MAAMA,EAAE,OAAOb,EAAK,EAAE,CAAC;AAAA,QACnE,UAAUY;AAAA,MAAA;AAAA,MAPLgB;AAAA,IASR,CAAA;AAAA,EAAA,GACH;AAEJ;"}