@ynput/ayon-frontend-shared 0.2.36 → 0.2.38

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 (640) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +68 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js +1 -1
  8. package/dist/Views.cjs.js.map +1 -1
  9. package/dist/Views.es.js +25 -24
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.cjs2.js +1 -1
  15. package/dist/_virtual/index.cjs3.js +1 -1
  16. package/dist/_virtual/index.cjs5.js +1 -1
  17. package/dist/_virtual/index.es10.js +3 -3
  18. package/dist/_virtual/index.es11.js +5 -5
  19. package/dist/_virtual/index.es12.js +5 -5
  20. package/dist/_virtual/index.es2.js +2 -5
  21. package/dist/_virtual/index.es2.js.map +1 -1
  22. package/dist/_virtual/index.es3.js +5 -2
  23. package/dist/_virtual/index.es3.js.map +1 -1
  24. package/dist/_virtual/index.es4.js +2 -2
  25. package/dist/_virtual/index.es5.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +107 -106
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +135 -133
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/context.cjs.js +1 -1
  32. package/dist/context.es.js +32 -26
  33. package/dist/context.es.js.map +1 -1
  34. package/dist/index.cjs.js +1 -1
  35. package/dist/index.es.js +54 -52
  36. package/dist/index.es.js.map +1 -1
  37. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  38. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  44. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  45. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  46. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  47. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  51. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  52. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  53. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  54. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  55. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  64. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/entityLists.es.js +88 -84
  66. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +34 -32
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  72. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  73. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  74. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  75. package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
  76. package/dist/shared/src/api/generated/products.es.js.map +1 -1
  77. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  78. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  79. package/dist/shared/src/api/generated/system.cjs.js +1 -1
  80. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  81. package/dist/shared/src/api/generated/system.es.js +3 -0
  82. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  84. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  85. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  86. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
  88. package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
  89. package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
  90. package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
  94. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  96. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
  100. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  102. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
  106. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  107. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  108. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  109. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
  110. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  111. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  112. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  113. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  114. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  116. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  117. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  118. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  119. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  120. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  121. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
  122. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  123. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  124. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  125. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -4
  126. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  127. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  128. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  129. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +70 -68
  130. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  131. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  132. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  133. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -5
  134. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  135. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  136. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  137. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +119 -112
  138. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  139. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  140. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  141. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +106 -105
  142. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  143. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  144. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  145. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +54 -52
  146. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  147. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  148. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  149. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
  150. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  151. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  152. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  153. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +11 -9
  154. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  155. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  156. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  157. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +45 -43
  158. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  159. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  160. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  161. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +79 -77
  162. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  163. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  164. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +44 -42
  166. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  167. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  168. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  169. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +263 -0
  170. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  171. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
  172. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -64
  174. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  176. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +140 -142
  178. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  180. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +50 -48
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  184. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +49 -47
  186. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
  188. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
  190. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js.map +1 -1
  191. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  192. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  193. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +321 -258
  194. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  195. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  196. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  197. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +27 -25
  198. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  199. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  200. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  201. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +48 -46
  202. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  203. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  204. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  205. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +9 -7
  206. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  207. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
  208. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  209. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +109 -112
  210. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  211. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  212. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
  214. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  215. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  216. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +49 -47
  218. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  219. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  220. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  222. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  223. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  224. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +50 -48
  226. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +162 -160
  230. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +58 -56
  234. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +112 -103
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +88 -86
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +19 -17
  250. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +36 -32
  254. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
  258. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -15
  262. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  264. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +45 -43
  266. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  267. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -47
  270. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -47
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -47
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +45 -46
  282. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  284. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/Feed.es.js +5 -3
  286. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +9 -7
  294. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  296. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +110 -108
  298. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  300. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  302. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  304. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +10 -8
  306. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +13 -11
  310. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +42 -41
  314. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +46 -42
  318. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
  322. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +335 -329
  326. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +54 -52
  330. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +43 -41
  334. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +53 -51
  338. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +51 -49
  342. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +235 -214
  346. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
  350. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +160 -156
  356. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +59 -57
  360. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +26 -90
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +69 -69
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +111 -111
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +58 -57
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +51 -49
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +60 -53
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +68 -66
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +63 -59
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +51 -49
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +52 -50
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +67 -65
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +55 -53
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +58 -56
  428. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
  432. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  434. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +122 -233
  436. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +64 -62
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +47 -45
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
  446. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
  448. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  449. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  450. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +114 -112
  452. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  453. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  454. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -47
  456. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  457. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  458. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  460. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  461. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  462. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +8 -6
  464. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  465. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  466. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +100 -94
  468. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  469. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  470. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  472. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  473. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  474. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  476. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  477. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  478. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
  480. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  481. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  482. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
  484. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  485. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  486. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  487. package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
  488. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  489. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  490. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  491. package/dist/shared/src/context/DetailsPanelContext.es.js +76 -76
  492. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  493. package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
  494. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
  495. package/dist/shared/src/context/GlobalContext.es.js +123 -0
  496. package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
  497. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  498. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  499. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  500. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  501. package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
  502. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
  503. package/dist/shared/src/context/ProjectContext.es.js +182 -0
  504. package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
  505. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  506. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  507. package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
  508. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  509. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  510. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  511. package/dist/shared/src/context/WebsocketContext.es.js +48 -46
  512. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  513. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  514. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  515. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  516. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  517. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  518. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  519. package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
  520. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  521. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  522. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  523. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  524. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  525. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  526. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  527. package/dist/shared/src/hooks/useUserProjectConfig.es.js +27 -12
  528. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  529. package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
  530. package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
  531. package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
  532. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
  533. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  534. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  535. package/dist/src/components/Menu/MenuComponents/Menu.es.js +4 -2
  536. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  537. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  538. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  539. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -5
  540. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  541. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  542. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  543. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +18 -16
  544. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  545. package/dist/types/api/generated/actions.d.ts +2 -0
  546. package/dist/types/api/generated/attributes.d.ts +20 -5
  547. package/dist/types/api/generated/authentication.d.ts +2 -0
  548. package/dist/types/api/generated/configuration.d.ts +3 -1
  549. package/dist/types/api/generated/entityLists.d.ts +22 -5
  550. package/dist/types/api/generated/enums.d.ts +36 -0
  551. package/dist/types/api/generated/graphql.d.ts +9 -2
  552. package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
  553. package/dist/types/api/generated/onboarding.d.ts +1 -0
  554. package/dist/types/api/generated/products.d.ts +9 -3
  555. package/dist/types/api/generated/projects.d.ts +4 -4
  556. package/dist/types/api/generated/system.d.ts +27 -5
  557. package/dist/types/api/generated/users.d.ts +2 -0
  558. package/dist/types/api/generated/views.d.ts +40 -5
  559. package/dist/types/api/generated/ynputCloud.d.ts +7 -20
  560. package/dist/types/api/queries/actions/getActions.d.ts +6 -6
  561. package/dist/types/api/queries/activities/getActivities.d.ts +10 -8
  562. package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
  563. package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
  564. package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
  565. package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
  566. package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
  567. package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
  568. package/dist/types/api/queries/cloud/cloud.d.ts +21 -21
  569. package/dist/types/api/queries/entities/getEntity.d.ts +12 -10
  570. package/dist/types/api/queries/entities/getEntityPanel.d.ts +6 -4
  571. package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
  572. package/dist/types/api/queries/entityLists/getLists.d.ts +190 -188
  573. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
  574. package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
  575. package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
  576. package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
  577. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
  578. package/dist/types/api/queries/overview/getOverview.d.ts +12 -10
  579. package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
  580. package/dist/types/api/queries/project/getProject.d.ts +190 -6
  581. package/dist/types/api/queries/review/getReview.d.ts +6 -6
  582. package/dist/types/api/queries/share/share.d.ts +2 -2
  583. package/dist/types/api/queries/system/getSystem.d.ts +91 -81
  584. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +13 -8
  585. package/dist/types/api/queries/users/getUsers.d.ts +63 -57
  586. package/dist/types/api/queries/users/guests.d.ts +2 -2
  587. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +29 -6
  588. package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
  589. package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
  590. package/dist/types/api/queries/views/getViews.d.ts +8 -8
  591. package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
  592. package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
  593. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
  594. package/dist/types/components/RemotePage/index.d.ts +1 -0
  595. package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
  597. package/dist/types/components/index.d.ts +31 -30
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
  600. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
  601. package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
  602. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
  603. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
  604. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
  605. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
  606. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
  607. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
  608. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
  609. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
  610. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
  611. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
  612. package/dist/types/containers/Views/index.d.ts +2 -2
  613. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
  614. package/dist/types/context/AddonProjectContext.d.ts +9 -14
  615. package/dist/types/context/DetailsPanelContext.d.ts +1 -2
  616. package/dist/types/context/GlobalContext.d.ts +25 -0
  617. package/dist/types/context/ProjectContext.d.ts +33 -0
  618. package/dist/types/context/index.d.ts +2 -0
  619. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  620. package/dist/types/util/index.d.ts +0 -2
  621. package/dist/types/util/versionUploadHelpers.d.ts +0 -1
  622. package/dist/util.cjs.js +1 -1
  623. package/dist/util.es.js +55 -58
  624. package/dist/util.es.js.map +1 -1
  625. package/package.json +1 -1
  626. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
  627. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
  628. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -99
  629. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
  630. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
  631. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
  632. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
  633. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
  634. package/dist/shared/src/util/productTypes.cjs.js +0 -2
  635. package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
  636. package/dist/shared/src/util/productTypes.es.js +0 -25
  637. package/dist/shared/src/util/productTypes.es.js.map +0 -1
  638. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
  639. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
  640. package/dist/types/util/productTypes.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackContext.cjs.js","sources":["../../../../../src/components/Feedback/FeedbackContext.tsx"],"sourcesContent":["import { cloneDeep } from 'lodash'\nimport React, { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport {\n useGetCurrentUserQuery,\n useGetFeedbackVerificationQuery,\n useGetSiteInfoQuery,\n useGetYnputCloudInfoQuery,\n} from '@shared/api'\n\nexport type FeedbackContextType = {\n loaded: boolean\n openSupport: (\n page?: 'Home' | 'Messages' | 'Changelog' | 'Help' | 'NewMessage' | 'ShowArticle',\n id?: string,\n ) => void\n messengerLoaded: boolean // whether the messenger widget is loaded\n unreadCount: number // number of unread messages\n messengerVisibility: boolean\n setMessengerVisibility: (show: boolean) => void // show/hide the messenger icon\n openFeedback: () => void\n openPortal: (\n page?: 'MainView' | 'RoadmapView' | 'CreatePost' | 'PostsView' | 'ChangelogView' | 'HelpView',\n articleId?: string,\n ) => void\n}\n\nconst FeedbackContext = createContext<FeedbackContextType | undefined>(undefined)\n\ntype FeedbackProviderProps = {\n children: ReactNode\n}\n\nexport const FeedbackProvider: React.FC<FeedbackProviderProps> = ({ children }) => {\n const [scriptLoaded, setScriptLoaded] = useState(false)\n\n const { data: user } = useGetCurrentUserQuery()\n const { data: siteInfo } = useGetSiteInfoQuery({ full: true }, { skip: !user?.name })\n const { data: connect } = useGetYnputCloudInfoQuery(undefined, { skip: !user?.name })\n const { data: verification, isLoading: isLoadingVerification } = useGetFeedbackVerificationQuery(\n undefined,\n {\n skip: !user?.name || !connect,\n },\n )\n\n const loadScript = () => {\n if (!scriptLoaded) {\n const script = document.createElement('script')\n script.src = 'https://do.featurebase.app/js/sdk.js'\n script.id = 'featurebase-sdk'\n script.async = true\n document.body.appendChild(script)\n setScriptLoaded(true)\n }\n }\n\n const initialize = () => {\n // Initialize Featurebase\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n win.Featurebase = function () {\n ;(win.Featurebase.q = win.Featurebase.q || []).push(arguments)\n }\n }\n }\n\n const serverVersion = siteInfo?.version?.split('+')[0] || 'unknown'\n const frontendVersion = siteInfo?.version?.split('+')[1] || 'unknown'\n\n const identifyUser = () => {\n if (!user?.name || !verification) return\n const verificationData = cloneDeep(verification)\n // delete any undefined/null properties\n const cleanObject = (obj: any) => {\n Object.keys(obj).forEach((key) => {\n if (obj[key] && typeof obj[key] === 'object') {\n cleanObject(obj[key])\n } else if (obj[key] === undefined || obj[key] === null) {\n delete obj[key]\n }\n })\n }\n\n cleanObject(verificationData)\n\n const identifyData = {\n ...verificationData,\n customFields: {\n origin: window.location.origin,\n serverVersion: serverVersion,\n frontendVersion: frontendVersion,\n instanceId: connect?.instanceId,\n },\n }\n\n console.log(identifyData)\n\n const win = window as any\n win.Featurebase('identify', identifyData, (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase identify completed')\n }\n })\n }\n\n const [messengerLoaded, setMessengerLoaded] = useState(false)\n const [unreadCount, setUnreadCount] = useState(0)\n\n // MESSENGER WIDGET\n const initializeMessenger = (): void => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n console.log('Initializing Featurebase messenger widget')\n win.Featurebase(\n 'boot',\n {\n appId: '67b76a31b8a7a2f3181da4ba',\n email: verification?.email,\n theme: 'dark',\n userId: verification?.userId, // user ID from verification\n userHash: verification?.userHash, // generated user hash token\n },\n (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase messenger completed')\n setMessengerLoaded(true)\n\n // register event listener for unread messages\n win.Featurebase('onUnreadCountChange', function (unreadCount: number) {\n setUnreadCount(unreadCount)\n })\n }\n },\n )\n }\n }\n\n // CHANGELOG WIDGET\n const initializeChangelog = (): boolean => {\n // everyone sees highlights\n const categories: string[] = []\n\n if (user?.data?.isAdmin) {\n // admins see everything\n const adminCategories = ['Server', 'Addon', 'Pipeline']\n categories.push(...adminCategories)\n } else if (!siteInfo?.disableChangelog) {\n // users only see highlights (unless disabled)\n // admins do not see highlights as it is a subset of the other categories\n categories.push('Highlights')\n }\n\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('init_changelog_widget', {\n organization: 'ayon',\n dropdown: {\n enabled: true,\n },\n popup: {\n enabled: true,\n usersName: user?.attrib?.fullName,\n autoOpenForNewUpdates: true,\n },\n category: categories,\n theme: 'dark',\n })\n }\n return false\n }\n\n // FEEDBACK WIDGET\n const initializeFeedbackWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_feedback_widget',\n {\n organization: 'ayon',\n theme: 'dark',\n metadata: {},\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing feedback widget:', error)\n } else {\n }\n },\n )\n }\n return false\n }\n\n // PORTAL WIDGET (old)\n const initializePortalWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_portal_widget',\n {\n organization: 'ayon',\n fullScreen: true,\n initialPage: 'MainView',\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing portal widget:', error)\n return false\n } else {\n return true\n }\n },\n )\n }\n return false\n }\n\n // Use an environment variable to skip loading Featurebase in certain environments\n // @ts-expect-error: Vite provides import.meta.env at runtime\n const skipFeaturebase = import.meta.env.VITE_SKIP_FEATUREBASE === 'true'\n\n // Load Featurebase script and initialize widgets\n useEffect(() => {\n // if skip flag is set, do not load the script\n if (skipFeaturebase) return\n // if not logged in, do not load the script\n if (!user?.name) return\n if (!siteInfo) return\n\n // if already loaded, do not load again\n if (scriptLoaded) return\n\n // Load the Featurebase script\n loadScript()\n\n // Initialize Featurebase\n initialize()\n\n // Initialize changelog widget\n initializeChangelog()\n\n // Initialize feedback widget\n initializeFeedbackWidget()\n\n // Initialize portal widget\n initializePortalWidget()\n }, [user?.name, scriptLoaded, siteInfo])\n\n const [identified, setIdentified] = useState(false)\n // verify user\n useEffect(() => {\n // check if we can identify the user\n if (!user?.name || !connect || !verification || !scriptLoaded) return\n // if we are already identified, do not identify again\n if (identified) return\n // Identify the user\n identifyUser()\n setIdentified(true)\n }, [\n user?.name,\n connect?.instanceId,\n verification?.userHash,\n scriptLoaded,\n window.location.pathname,\n identified,\n ])\n\n // load messenger widget once verification is done loading\n // we don't need verification but we should use it if we have it\n useEffect(() => {\n // wait for script to be loaded and verification to finish loading\n if (isLoadingVerification || !scriptLoaded) return\n\n // initialize the messenger widget\n initializeMessenger()\n }, [verification, isLoadingVerification, scriptLoaded])\n\n const openFeedback: FeedbackContextType['openFeedback'] = () => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'openFeedbackWidget',\n },\n })\n }\n\n const openPortal = (\n page:\n | 'MainView'\n | 'RoadmapView'\n | 'CreatePost'\n | 'PostsView'\n | 'ChangelogView'\n | 'HelpView' = 'MainView',\n articleId?: string,\n ) => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'changePage',\n payload: page,\n openWidget: true,\n ...(articleId && { articleId }),\n },\n })\n }\n\n const [messengerVisibility, setMessengerVisibility] = useState(false)\n const supportElement = document.getElementById('fb-messenger-root')\n\n const setSupportDisplay = (show: boolean) =>\n supportElement instanceof HTMLElement &&\n (supportElement.style.display = show ? 'block' : 'none')\n\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n setSupportDisplay(messengerVisibility)\n }, [scriptLoaded, messengerLoaded, messengerVisibility])\n\n // when the messenger is hidden, we need to hide the root element again\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('onHide', function () {\n // hide the messenger root element\n setMessengerVisibility(false)\n })\n }\n }, [scriptLoaded, messengerLoaded])\n\n const openSupport: FeedbackContextType['openSupport'] = (page = 'Home', id) => {\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n window.alert('Featurebase SDK is not loaded yet. Please try again later.')\n console.warn('Featurebase SDK is not loaded yet.')\n return\n }\n\n if (messengerVisibility) {\n // if the messenger is already visible, close it\n win.Featurebase('hide')\n setMessengerVisibility(false)\n return\n }\n\n // ensure the messenger is visible\n setMessengerVisibility(true)\n\n switch (page) {\n case 'Home':\n // Show messenger home\n win.Featurebase('show')\n break\n case 'Messages':\n // Show messages view\n win.Featurebase('show', 'messages')\n break\n case 'Changelog':\n // Show changelog view\n win.Featurebase('show', 'changelog')\n break\n case 'Help':\n // Open help center\n win.Featurebase('show', 'help')\n break\n case 'ShowArticle':\n // Open a specific help article\n if (id) win.Featurebase('showArticle', id)\n else win.Featurebase('show', 'help')\n break\n case 'NewMessage':\n // Open new message dialog\n win.Featurebase('showNewMessage', id)\n break\n default:\n // Default to showing the main widget\n win.Featurebase('show')\n break\n }\n }\n\n return (\n <FeedbackContext.Provider\n value={{\n openSupport,\n openFeedback,\n openPortal,\n messengerLoaded,\n unreadCount,\n messengerVisibility,\n setMessengerVisibility,\n loaded: scriptLoaded,\n }}\n >\n {children}\n </FeedbackContext.Provider>\n )\n}\n\nexport const useFeedback = (): FeedbackContextType => {\n const context = useContext(FeedbackContext)\n if (!context) {\n throw new Error('useFeedback must be used within a FeedbackProvider')\n }\n return context\n}\n"],"names":["FeedbackContext","createContext","FeedbackProvider","children","scriptLoaded","setScriptLoaded","useState","user","useGetCurrentUserQuery","siteInfo","useGetSiteInfoQuery","connect","useGetYnputCloudInfoQuery","verification","isLoadingVerification","useGetFeedbackVerificationQuery","loadScript","script","initialize","win","serverVersion","_a","frontendVersion","_b","identifyUser","verificationData","cloneDeep","cleanObject","obj","key","identifyData","err","messengerLoaded","setMessengerLoaded","unreadCount","setUnreadCount","initializeMessenger","initializeChangelog","categories","adminCategories","initializeFeedbackWidget","error","initializePortalWidget","useEffect","identified","setIdentified","openFeedback","openPortal","page","articleId","messengerVisibility","setMessengerVisibility","supportElement","setSupportDisplay","show","openSupport","id","jsx","useFeedback","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackContext.cjs.js","sources":["../../../../../src/components/Feedback/FeedbackContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { useGetFeedbackVerificationQuery } from '@shared/api'\nimport { useGlobalContext } from '@shared/context'\n\nexport type FeedbackContextType = {\n loaded: boolean\n openSupport: (\n page?: 'Home' | 'Messages' | 'Changelog' | 'Help' | 'NewMessage' | 'ShowArticle',\n id?: string,\n ) => void\n messengerLoaded: boolean // whether the messenger widget is loaded\n unreadCount: number // number of unread messages\n messengerVisibility: boolean\n setMessengerVisibility: (show: boolean) => void // show/hide the messenger icon\n openFeedback: () => void\n openPortal: (\n page?: 'MainView' | 'RoadmapView' | 'CreatePost' | 'PostsView' | 'ChangelogView' | 'HelpView',\n articleId?: string,\n ) => void\n}\n\nconst FeedbackContext = createContext<FeedbackContextType | undefined>(undefined)\n\ntype FeedbackProviderProps = {\n children: ReactNode\n}\n\nexport const FeedbackProvider: React.FC<FeedbackProviderProps> = ({ children }) => {\n const [scriptLoaded, setScriptLoaded] = useState(false)\n const { siteInfo, user, cloudInfo } = useGlobalContext()\n const { data: verification, isLoading: isLoadingVerification } = useGetFeedbackVerificationQuery(\n {},\n {\n skip: !user?.name || !cloudInfo,\n },\n )\n\n const loadScript = () => {\n if (!scriptLoaded) {\n const script = document.createElement('script')\n script.src = 'https://do.featurebase.app/js/sdk.js'\n script.id = 'featurebase-sdk'\n script.async = true\n document.body.appendChild(script)\n setScriptLoaded(true)\n }\n }\n\n const initialize = () => {\n // Initialize Featurebase\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n win.Featurebase = function () {\n ;(win.Featurebase.q = win.Featurebase.q || []).push(arguments)\n }\n }\n }\n\n const serverVersion = siteInfo?.version?.split('+')[0] || 'unknown'\n const frontendVersion = siteInfo?.version?.split('+')[1] || 'unknown'\n\n const identifyUser = () => {\n if (!user?.name || !verification?.available) return\n\n const identifyData = {\n ...verification.data,\n customFields: {\n origin: window.location.origin,\n serverVersion: serverVersion,\n frontendVersion: frontendVersion,\n instanceId: cloudInfo?.instanceId,\n },\n }\n\n console.log(identifyData)\n\n const win = window as any\n win.Featurebase('identify', identifyData, (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase identify completed')\n }\n })\n }\n\n const [messengerLoaded, setMessengerLoaded] = useState(false)\n const [unreadCount, setUnreadCount] = useState(0)\n\n // MESSENGER WIDGET\n const initializeMessenger = (): void => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n console.log('Initializing Featurebase messenger widget')\n if (!verification?.available)\n return console.warn('messenger verification not available, skipping messenger init')\n win.Featurebase(\n 'boot',\n {\n theme: 'dark',\n ...verification?.data,\n },\n (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase messenger completed')\n setMessengerLoaded(true)\n\n // register event listener for unread messages\n win.Featurebase('onUnreadCountChange', function (unreadCount: number) {\n setUnreadCount(unreadCount)\n })\n }\n },\n )\n }\n }\n\n // CHANGELOG WIDGET\n const initializeChangelog = (): boolean => {\n // everyone sees highlights\n const categories: string[] = []\n\n if (user?.data?.isAdmin) {\n // admins see everything\n const adminCategories = ['Server', 'Addon', 'Pipeline']\n categories.push(...adminCategories)\n } else if (!siteInfo?.disableChangelog) {\n // users only see highlights (unless disabled)\n // admins do not see highlights as it is a subset of the other categories\n categories.push('Highlights')\n }\n\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('init_changelog_widget', {\n organization: 'ayon',\n dropdown: {\n enabled: true,\n },\n popup: {\n enabled: true,\n usersName: user?.attrib?.fullName,\n autoOpenForNewUpdates: true,\n },\n category: categories,\n theme: 'dark',\n })\n }\n return false\n }\n\n // FEEDBACK WIDGET\n const initializeFeedbackWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_feedback_widget',\n {\n organization: 'ayon',\n theme: 'dark',\n metadata: {},\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing feedback widget:', error)\n } else {\n }\n },\n )\n }\n return false\n }\n\n // PORTAL WIDGET (old)\n const initializePortalWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_portal_widget',\n {\n organization: 'ayon',\n fullScreen: true,\n initialPage: 'MainView',\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing portal widget:', error)\n return false\n } else {\n return true\n }\n },\n )\n }\n return false\n }\n\n // Use an environment variable to skip loading Featurebase in certain environments\n // @ts-expect-error: Vite provides import.meta.env at runtime\n const skipFeaturebase = import.meta.env.VITE_SKIP_FEATUREBASE === 'true'\n\n // Load Featurebase script and initialize widgets\n useEffect(() => {\n // if skip flag is set, do not load the script\n if (skipFeaturebase) return\n // if not logged in, do not load the script\n if (!user?.name) return\n if (!siteInfo) return\n\n // if already loaded, do not load again\n if (scriptLoaded) return\n\n // Load the Featurebase script\n loadScript()\n\n // Initialize Featurebase\n initialize()\n\n // Initialize changelog widget\n initializeChangelog()\n\n // Initialize feedback widget\n initializeFeedbackWidget()\n\n // Initialize portal widget\n initializePortalWidget()\n }, [user?.name, scriptLoaded, siteInfo])\n\n const [identified, setIdentified] = useState(false)\n // verify user\n useEffect(() => {\n // check if we can identify the user\n if (!user?.name || !cloudInfo || !verification || !scriptLoaded) return\n // if we are already identified, do not identify again\n if (identified) return\n // Identify the user\n identifyUser()\n setIdentified(true)\n }, [\n user?.name,\n cloudInfo?.instanceId,\n verification?.available,\n scriptLoaded,\n window.location.pathname,\n identified,\n ])\n\n // load messenger widget once verification is done loading\n // we don't need verification but we should use it if we have it\n useEffect(() => {\n // wait for script to be loaded and verification to finish loading\n if (isLoadingVerification || !scriptLoaded) return\n\n // initialize the messenger widget\n initializeMessenger()\n }, [verification, isLoadingVerification, scriptLoaded])\n\n const openFeedback: FeedbackContextType['openFeedback'] = () => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'openFeedbackWidget',\n },\n })\n }\n\n const openPortal = (\n page:\n | 'MainView'\n | 'RoadmapView'\n | 'CreatePost'\n | 'PostsView'\n | 'ChangelogView'\n | 'HelpView' = 'MainView',\n articleId?: string,\n ) => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'changePage',\n payload: page,\n openWidget: true,\n ...(articleId && { articleId }),\n },\n })\n }\n\n const [messengerVisibility, setMessengerVisibility] = useState(false)\n const supportElement = document.getElementById('fb-messenger-root')\n\n const setSupportDisplay = (show: boolean) =>\n supportElement instanceof HTMLElement &&\n (supportElement.style.display = show ? 'block' : 'none')\n\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n setSupportDisplay(messengerVisibility)\n }, [scriptLoaded, messengerLoaded, messengerVisibility])\n\n // when the messenger is hidden, we need to hide the root element again\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('onHide', function () {\n // hide the messenger root element\n setMessengerVisibility(false)\n })\n }\n }, [scriptLoaded, messengerLoaded])\n\n const openSupport: FeedbackContextType['openSupport'] = (page = 'Home', id) => {\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n window.alert('Featurebase SDK is not loaded yet. Please try again later.')\n console.warn('Featurebase SDK is not loaded yet.')\n return\n }\n\n if (messengerVisibility) {\n // if the messenger is already visible, close it\n win.Featurebase('hide')\n setMessengerVisibility(false)\n return\n }\n\n // ensure the messenger is visible\n setMessengerVisibility(true)\n\n switch (page) {\n case 'Home':\n // Show messenger home\n win.Featurebase('show')\n break\n case 'Messages':\n // Show messages view\n win.Featurebase('show', 'messages')\n break\n case 'Changelog':\n // Show changelog view\n win.Featurebase('show', 'changelog')\n break\n case 'Help':\n // Open help center\n win.Featurebase('show', 'help')\n break\n case 'ShowArticle':\n // Open a specific help article\n if (id) win.Featurebase('showArticle', id)\n else win.Featurebase('show', 'help')\n break\n case 'NewMessage':\n // Open new message dialog\n win.Featurebase('showNewMessage', id)\n break\n default:\n // Default to showing the main widget\n win.Featurebase('show')\n break\n }\n }\n\n return (\n <FeedbackContext.Provider\n value={{\n openSupport,\n openFeedback,\n openPortal,\n messengerLoaded,\n unreadCount,\n messengerVisibility,\n setMessengerVisibility,\n loaded: scriptLoaded,\n }}\n >\n {children}\n </FeedbackContext.Provider>\n )\n}\n\nexport const useFeedback = (): FeedbackContextType => {\n const context = useContext(FeedbackContext)\n if (!context) {\n throw new Error('useFeedback must be used within a FeedbackProvider')\n }\n return context\n}\n"],"names":["FeedbackContext","createContext","FeedbackProvider","children","scriptLoaded","setScriptLoaded","useState","siteInfo","user","cloudInfo","useGlobalContext","verification","isLoadingVerification","useGetFeedbackVerificationQuery","loadScript","script","initialize","win","serverVersion","_a","frontendVersion","_b","identifyUser","identifyData","err","messengerLoaded","setMessengerLoaded","unreadCount","setUnreadCount","initializeMessenger","initializeChangelog","categories","adminCategories","initializeFeedbackWidget","error","initializePortalWidget","useEffect","identified","setIdentified","openFeedback","openPortal","page","articleId","messengerVisibility","setMessengerVisibility","supportElement","setSupportDisplay","show","openSupport","id","jsx","useFeedback","context","useContext"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { j as Q } from "../../../../_virtual/jsx-runtime.es.js";
2
- import { cloneDeep as O } from "lodash";
3
- import { createContext as j, useState as c, useEffect as u, useContext as q } from "react";
1
+ import { j as q } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext as G, useState as m, useEffect as d, useContext as K } from "react";
4
3
  import "../../api/base/client.es.js";
5
4
  import "../../api/generated/graphql.es.js";
6
5
  import "../../api/generated/graphqlLinks.es.js";
@@ -50,7 +49,7 @@ import "../../api/queries/addons/updateAddons.es.js";
50
49
  import "../../api/queries/attributes/getAttributes.es.js";
51
50
  import "../../api/queries/attributes/updateAttributes.es.js";
52
51
  import "../../api/queries/authentication/getAuthentication.es.js";
53
- import { useGetYnputCloudInfoQuery as K, useGetFeedbackVerificationQuery as B } from "../../api/queries/cloud/cloud.es.js";
52
+ import { useGetFeedbackVerificationQuery as B } from "../../api/queries/cloud/cloud.es.js";
54
53
  import "../../api/queries/entities/getEntity.es.js";
55
54
  import "../../api/queries/entities/getEntityPanel.es.js";
56
55
  import "../../api/queries/entities/updateEntity.es.js";
@@ -74,93 +73,101 @@ import "../../api/queries/project/updateProject.es.js";
74
73
  import "../../api/queries/review/getReview.es.js";
75
74
  import "../../api/queries/review/updateReview.es.js";
76
75
  import "../../api/queries/share/share.es.js";
77
- import { useGetSiteInfoQuery as R } from "../../api/queries/system/getSystem.es.js";
76
+ import "../../api/queries/system/getSystem.es.js";
78
77
  import "../../api/queries/userDashboard/getUserDashboard.es.js";
79
- import { useGetCurrentUserQuery as T } from "../../api/queries/users/getUsers.es.js";
78
+ import "../../api/queries/users/getUsers.es.js";
80
79
  import "../../api/queries/users/updateUsers.es.js";
81
80
  import "../../api/queries/users/guests.es.js";
82
81
  import "../../api/queries/versions/updateVersions.es.js";
83
82
  import "../../api/queries/views/getViews.es.js";
84
83
  import "../../api/queries/views/updateViews.es.js";
85
84
  import "../../api/queries/watchers/getWatchers.es.js";
86
- const C = j(void 0), Et = ({ children: l }) => {
87
- var y, k;
88
- const [a, z] = c(!1), { data: t } = T(), { data: s } = R({ full: !0 }, { skip: !(t != null && t.name) }), { data: p } = K(void 0, { skip: !(t != null && t.name) }), { data: r, isLoading: w } = B(
89
- void 0,
85
+ import "../../context/RemoteModulesContext.es.js";
86
+ import "../../context/DetailsPanelContext.es.js";
87
+ import "../../context/ThumbnailUploaderContext.es.js";
88
+ import "../../context/SettingsPanelContext.es.js";
89
+ import "../../context/pip/PiPProvider.es.js";
90
+ import "react-dom";
91
+ import "../../context/pip/PiPWrapper.es.js";
92
+ import "../../context/AddonProjectContext.es.js";
93
+ import "../../context/AddonContext.es.js";
94
+ import "../../context/PowerpackContext.es.js";
95
+ import "../../context/MoveEntityContext.es.js";
96
+ import "../../context/MenuContext.es.js";
97
+ import "../../context/WebsocketContext.es.js";
98
+ import { useGlobalContext as O } from "../../context/GlobalContext.es.js";
99
+ import "../../context/ProjectContext.es.js";
100
+ const k = G(void 0), Nt = ({ children: c }) => {
101
+ var w, F;
102
+ const [a, y] = m(!1), { siteInfo: n, user: t, cloudInfo: s } = O(), { data: r, isLoading: b } = B(
103
+ {},
90
104
  {
91
- skip: !(t != null && t.name) || !p
105
+ skip: !(t != null && t.name) || !s
92
106
  }
93
- ), M = () => {
107
+ ), z = () => {
94
108
  if (!a) {
95
109
  const e = document.createElement("script");
96
- e.src = "https://do.featurebase.app/js/sdk.js", e.id = "featurebase-sdk", e.async = !0, document.body.appendChild(e), z(!0);
110
+ e.src = "https://do.featurebase.app/js/sdk.js", e.id = "featurebase-sdk", e.async = !0, document.body.appendChild(e), y(!0);
97
111
  }
98
- }, S = () => {
112
+ }, C = () => {
99
113
  const e = window;
100
114
  typeof e.Featurebase != "function" && (e.Featurebase = function() {
101
115
  (e.Featurebase.q = e.Featurebase.q || []).push(arguments);
102
116
  });
103
- }, E = ((y = s == null ? void 0 : s.version) == null ? void 0 : y.split("+")[0]) || "unknown", H = ((k = s == null ? void 0 : s.version) == null ? void 0 : k.split("+")[1]) || "unknown", P = () => {
104
- if (!(t != null && t.name) || !r) return;
105
- const e = O(r), o = (n) => {
106
- Object.keys(n).forEach((m) => {
107
- n[m] && typeof n[m] == "object" ? o(n[m]) : (n[m] === void 0 || n[m] === null) && delete n[m];
108
- });
109
- };
110
- o(e);
111
- const i = {
112
- ...e,
117
+ }, M = ((w = n == null ? void 0 : n.version) == null ? void 0 : w.split("+")[0]) || "unknown", S = ((F = n == null ? void 0 : n.version) == null ? void 0 : F.split("+")[1]) || "unknown", x = () => {
118
+ if (!(t != null && t.name) || !(r != null && r.available)) return;
119
+ const e = {
120
+ ...r.data,
113
121
  customFields: {
114
122
  origin: window.location.origin,
115
- serverVersion: E,
116
- frontendVersion: H,
117
- instanceId: p == null ? void 0 : p.instanceId
123
+ serverVersion: M,
124
+ frontendVersion: S,
125
+ instanceId: s == null ? void 0 : s.instanceId
118
126
  }
119
127
  };
120
- console.log(i), window.Featurebase("identify", i, (n) => {
121
- n ? console.error(n) : console.log("Featurebase identify completed");
128
+ console.log(e), window.Featurebase("identify", e, (o) => {
129
+ o ? console.error(o) : console.log("Featurebase identify completed");
122
130
  });
123
- }, [d, x] = c(!1), [V, L] = c(0), v = () => {
131
+ }, [p, E] = m(!1), [P, V] = m(0), v = () => {
124
132
  const e = window;
125
- typeof e.Featurebase == "function" && (console.log("Initializing Featurebase messenger widget"), e.Featurebase(
126
- "boot",
127
- {
128
- appId: "67b76a31b8a7a2f3181da4ba",
129
- email: r == null ? void 0 : r.email,
130
- theme: "dark",
131
- userId: r == null ? void 0 : r.userId,
132
- // user ID from verification
133
- userHash: r == null ? void 0 : r.userHash
134
- // generated user hash token
135
- },
136
- (o) => {
137
- o ? console.error(o) : (console.log("Featurebase messenger completed"), x(!0), e.Featurebase("onUnreadCountChange", function(i) {
138
- L(i);
139
- }));
140
- }
141
- ));
142
- }, D = () => {
143
- var i, g;
133
+ if (typeof e.Featurebase == "function") {
134
+ if (console.log("Initializing Featurebase messenger widget"), !(r != null && r.available))
135
+ return console.warn("messenger verification not available, skipping messenger init");
136
+ e.Featurebase(
137
+ "boot",
138
+ {
139
+ theme: "dark",
140
+ ...r == null ? void 0 : r.data
141
+ },
142
+ (i) => {
143
+ i ? console.error(i) : (console.log("Featurebase messenger completed"), E(!0), e.Featurebase("onUnreadCountChange", function(o) {
144
+ V(o);
145
+ }));
146
+ }
147
+ );
148
+ }
149
+ }, L = () => {
150
+ var o, h;
144
151
  const e = [];
145
- if ((i = t == null ? void 0 : t.data) != null && i.isAdmin) {
146
- const n = ["Server", "Addon", "Pipeline"];
147
- e.push(...n);
148
- } else s != null && s.disableChangelog || e.push("Highlights");
149
- const o = window;
150
- return typeof o.Featurebase == "function" && o.Featurebase("init_changelog_widget", {
152
+ if ((o = t == null ? void 0 : t.data) != null && o.isAdmin) {
153
+ const U = ["Server", "Addon", "Pipeline"];
154
+ e.push(...U);
155
+ } else n != null && n.disableChangelog || e.push("Highlights");
156
+ const i = window;
157
+ return typeof i.Featurebase == "function" && i.Featurebase("init_changelog_widget", {
151
158
  organization: "ayon",
152
159
  dropdown: {
153
160
  enabled: !0
154
161
  },
155
162
  popup: {
156
163
  enabled: !0,
157
- usersName: (g = t == null ? void 0 : t.attrib) == null ? void 0 : g.fullName,
164
+ usersName: (h = t == null ? void 0 : t.attrib) == null ? void 0 : h.fullName,
158
165
  autoOpenForNewUpdates: !0
159
166
  },
160
167
  category: e,
161
168
  theme: "dark"
162
169
  }), !1;
163
- }, W = () => {
170
+ }, H = () => {
164
171
  const e = window;
165
172
  return typeof e.Featurebase == "function" && e.Featurebase(
166
173
  "initialize_feedback_widget",
@@ -169,11 +176,11 @@ const C = j(void 0), Et = ({ children: l }) => {
169
176
  theme: "dark",
170
177
  metadata: {}
171
178
  },
172
- (o) => {
173
- o && console.error("Error initializing feedback widget:", o);
179
+ (i) => {
180
+ i && console.error("Error initializing feedback widget:", i);
174
181
  }
175
182
  ), !1;
176
- }, _ = () => {
183
+ }, W = () => {
177
184
  const e = window;
178
185
  return typeof e.Featurebase == "function" && e.Featurebase(
179
186
  "initialize_portal_widget",
@@ -182,110 +189,110 @@ const C = j(void 0), Et = ({ children: l }) => {
182
189
  fullScreen: !0,
183
190
  initialPage: "MainView"
184
191
  },
185
- (o) => o ? (console.error("Error initializing portal widget:", o), !1) : !0
192
+ (i) => i ? (console.error("Error initializing portal widget:", i), !1) : !0
186
193
  ), !1;
187
194
  };
188
- u(() => {
189
- t != null && t.name && s && (a || (M(), S(), D(), W(), _()));
190
- }, [t == null ? void 0 : t.name, a, s]);
191
- const [F, I] = c(!1);
192
- u(() => {
193
- !(t != null && t.name) || !p || !r || !a || F || (P(), I(!0));
195
+ d(() => {
196
+ t != null && t.name && n && (a || (z(), C(), L(), H(), W()));
197
+ }, [t == null ? void 0 : t.name, a, n]);
198
+ const [g, _] = m(!1);
199
+ d(() => {
200
+ !(t != null && t.name) || !s || !r || !a || g || (x(), _(!0));
194
201
  }, [
195
202
  t == null ? void 0 : t.name,
196
- p == null ? void 0 : p.instanceId,
197
- r == null ? void 0 : r.userHash,
203
+ s == null ? void 0 : s.instanceId,
204
+ r == null ? void 0 : r.available,
198
205
  a,
199
206
  window.location.pathname,
200
- F
201
- ]), u(() => {
202
- w || !a || v();
203
- }, [r, w, a]);
204
- const N = () => {
207
+ g
208
+ ]), d(() => {
209
+ b || !a || v();
210
+ }, [r, b, a]);
211
+ const j = () => {
205
212
  window.postMessage({
206
213
  target: "FeaturebaseWidget",
207
214
  data: {
208
215
  action: "openFeedbackWidget"
209
216
  }
210
217
  });
211
- }, U = (e = "MainView", o) => {
218
+ }, N = (e = "MainView", i) => {
212
219
  window.postMessage({
213
220
  target: "FeaturebaseWidget",
214
221
  data: {
215
222
  action: "changePage",
216
223
  payload: e,
217
224
  openWidget: !0,
218
- ...o && { articleId: o }
225
+ ...i && { articleId: i }
219
226
  }
220
227
  });
221
- }, [f, b] = c(!1), h = document.getElementById("fb-messenger-root"), A = (e) => h instanceof HTMLElement && (h.style.display = e ? "block" : "none");
222
- u(() => {
223
- !a || !d || A(f);
224
- }, [a, d, f]), u(() => {
225
- if (!a || !d) return;
228
+ }, [l, u] = m(!1), f = document.getElementById("fb-messenger-root"), A = (e) => f instanceof HTMLElement && (f.style.display = e ? "block" : "none");
229
+ d(() => {
230
+ !a || !p || A(l);
231
+ }, [a, p, l]), d(() => {
232
+ if (!a || !p) return;
226
233
  const e = window;
227
234
  typeof e.Featurebase == "function" && e.Featurebase("onHide", function() {
228
- b(!1);
235
+ u(!1);
229
236
  });
230
- }, [a, d]);
231
- const G = (e = "Home", o) => {
232
- const i = window;
233
- if (typeof i.Featurebase != "function") {
237
+ }, [a, p]);
238
+ const D = (e = "Home", i) => {
239
+ const o = window;
240
+ if (typeof o.Featurebase != "function") {
234
241
  window.alert("Featurebase SDK is not loaded yet. Please try again later."), console.warn("Featurebase SDK is not loaded yet.");
235
242
  return;
236
243
  }
237
- if (f) {
238
- i.Featurebase("hide"), b(!1);
244
+ if (l) {
245
+ o.Featurebase("hide"), u(!1);
239
246
  return;
240
247
  }
241
- switch (b(!0), e) {
248
+ switch (u(!0), e) {
242
249
  case "Home":
243
- i.Featurebase("show");
250
+ o.Featurebase("show");
244
251
  break;
245
252
  case "Messages":
246
- i.Featurebase("show", "messages");
253
+ o.Featurebase("show", "messages");
247
254
  break;
248
255
  case "Changelog":
249
- i.Featurebase("show", "changelog");
256
+ o.Featurebase("show", "changelog");
250
257
  break;
251
258
  case "Help":
252
- i.Featurebase("show", "help");
259
+ o.Featurebase("show", "help");
253
260
  break;
254
261
  case "ShowArticle":
255
- o ? i.Featurebase("showArticle", o) : i.Featurebase("show", "help");
262
+ i ? o.Featurebase("showArticle", i) : o.Featurebase("show", "help");
256
263
  break;
257
264
  case "NewMessage":
258
- i.Featurebase("showNewMessage", o);
265
+ o.Featurebase("showNewMessage", i);
259
266
  break;
260
267
  default:
261
- i.Featurebase("show");
268
+ o.Featurebase("show");
262
269
  break;
263
270
  }
264
271
  };
265
- return /* @__PURE__ */ Q.jsx(
266
- C.Provider,
272
+ return /* @__PURE__ */ q.jsx(
273
+ k.Provider,
267
274
  {
268
275
  value: {
269
- openSupport: G,
270
- openFeedback: N,
271
- openPortal: U,
272
- messengerLoaded: d,
273
- unreadCount: V,
274
- messengerVisibility: f,
275
- setMessengerVisibility: b,
276
+ openSupport: D,
277
+ openFeedback: j,
278
+ openPortal: N,
279
+ messengerLoaded: p,
280
+ unreadCount: P,
281
+ messengerVisibility: l,
282
+ setMessengerVisibility: u,
276
283
  loaded: a
277
284
  },
278
- children: l
285
+ children: c
279
286
  }
280
287
  );
281
- }, Ht = () => {
282
- const l = q(C);
283
- if (!l)
288
+ }, At = () => {
289
+ const c = K(k);
290
+ if (!c)
284
291
  throw new Error("useFeedback must be used within a FeedbackProvider");
285
- return l;
292
+ return c;
286
293
  };
287
294
  export {
288
- Et as FeedbackProvider,
289
- Ht as useFeedback
295
+ Nt as FeedbackProvider,
296
+ At as useFeedback
290
297
  };
291
298
  //# sourceMappingURL=FeedbackContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackContext.es.js","sources":["../../../../../src/components/Feedback/FeedbackContext.tsx"],"sourcesContent":["import { cloneDeep } from 'lodash'\nimport React, { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport {\n useGetCurrentUserQuery,\n useGetFeedbackVerificationQuery,\n useGetSiteInfoQuery,\n useGetYnputCloudInfoQuery,\n} from '@shared/api'\n\nexport type FeedbackContextType = {\n loaded: boolean\n openSupport: (\n page?: 'Home' | 'Messages' | 'Changelog' | 'Help' | 'NewMessage' | 'ShowArticle',\n id?: string,\n ) => void\n messengerLoaded: boolean // whether the messenger widget is loaded\n unreadCount: number // number of unread messages\n messengerVisibility: boolean\n setMessengerVisibility: (show: boolean) => void // show/hide the messenger icon\n openFeedback: () => void\n openPortal: (\n page?: 'MainView' | 'RoadmapView' | 'CreatePost' | 'PostsView' | 'ChangelogView' | 'HelpView',\n articleId?: string,\n ) => void\n}\n\nconst FeedbackContext = createContext<FeedbackContextType | undefined>(undefined)\n\ntype FeedbackProviderProps = {\n children: ReactNode\n}\n\nexport const FeedbackProvider: React.FC<FeedbackProviderProps> = ({ children }) => {\n const [scriptLoaded, setScriptLoaded] = useState(false)\n\n const { data: user } = useGetCurrentUserQuery()\n const { data: siteInfo } = useGetSiteInfoQuery({ full: true }, { skip: !user?.name })\n const { data: connect } = useGetYnputCloudInfoQuery(undefined, { skip: !user?.name })\n const { data: verification, isLoading: isLoadingVerification } = useGetFeedbackVerificationQuery(\n undefined,\n {\n skip: !user?.name || !connect,\n },\n )\n\n const loadScript = () => {\n if (!scriptLoaded) {\n const script = document.createElement('script')\n script.src = 'https://do.featurebase.app/js/sdk.js'\n script.id = 'featurebase-sdk'\n script.async = true\n document.body.appendChild(script)\n setScriptLoaded(true)\n }\n }\n\n const initialize = () => {\n // Initialize Featurebase\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n win.Featurebase = function () {\n ;(win.Featurebase.q = win.Featurebase.q || []).push(arguments)\n }\n }\n }\n\n const serverVersion = siteInfo?.version?.split('+')[0] || 'unknown'\n const frontendVersion = siteInfo?.version?.split('+')[1] || 'unknown'\n\n const identifyUser = () => {\n if (!user?.name || !verification) return\n const verificationData = cloneDeep(verification)\n // delete any undefined/null properties\n const cleanObject = (obj: any) => {\n Object.keys(obj).forEach((key) => {\n if (obj[key] && typeof obj[key] === 'object') {\n cleanObject(obj[key])\n } else if (obj[key] === undefined || obj[key] === null) {\n delete obj[key]\n }\n })\n }\n\n cleanObject(verificationData)\n\n const identifyData = {\n ...verificationData,\n customFields: {\n origin: window.location.origin,\n serverVersion: serverVersion,\n frontendVersion: frontendVersion,\n instanceId: connect?.instanceId,\n },\n }\n\n console.log(identifyData)\n\n const win = window as any\n win.Featurebase('identify', identifyData, (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase identify completed')\n }\n })\n }\n\n const [messengerLoaded, setMessengerLoaded] = useState(false)\n const [unreadCount, setUnreadCount] = useState(0)\n\n // MESSENGER WIDGET\n const initializeMessenger = (): void => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n console.log('Initializing Featurebase messenger widget')\n win.Featurebase(\n 'boot',\n {\n appId: '67b76a31b8a7a2f3181da4ba',\n email: verification?.email,\n theme: 'dark',\n userId: verification?.userId, // user ID from verification\n userHash: verification?.userHash, // generated user hash token\n },\n (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase messenger completed')\n setMessengerLoaded(true)\n\n // register event listener for unread messages\n win.Featurebase('onUnreadCountChange', function (unreadCount: number) {\n setUnreadCount(unreadCount)\n })\n }\n },\n )\n }\n }\n\n // CHANGELOG WIDGET\n const initializeChangelog = (): boolean => {\n // everyone sees highlights\n const categories: string[] = []\n\n if (user?.data?.isAdmin) {\n // admins see everything\n const adminCategories = ['Server', 'Addon', 'Pipeline']\n categories.push(...adminCategories)\n } else if (!siteInfo?.disableChangelog) {\n // users only see highlights (unless disabled)\n // admins do not see highlights as it is a subset of the other categories\n categories.push('Highlights')\n }\n\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('init_changelog_widget', {\n organization: 'ayon',\n dropdown: {\n enabled: true,\n },\n popup: {\n enabled: true,\n usersName: user?.attrib?.fullName,\n autoOpenForNewUpdates: true,\n },\n category: categories,\n theme: 'dark',\n })\n }\n return false\n }\n\n // FEEDBACK WIDGET\n const initializeFeedbackWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_feedback_widget',\n {\n organization: 'ayon',\n theme: 'dark',\n metadata: {},\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing feedback widget:', error)\n } else {\n }\n },\n )\n }\n return false\n }\n\n // PORTAL WIDGET (old)\n const initializePortalWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_portal_widget',\n {\n organization: 'ayon',\n fullScreen: true,\n initialPage: 'MainView',\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing portal widget:', error)\n return false\n } else {\n return true\n }\n },\n )\n }\n return false\n }\n\n // Use an environment variable to skip loading Featurebase in certain environments\n // @ts-expect-error: Vite provides import.meta.env at runtime\n const skipFeaturebase = import.meta.env.VITE_SKIP_FEATUREBASE === 'true'\n\n // Load Featurebase script and initialize widgets\n useEffect(() => {\n // if skip flag is set, do not load the script\n if (skipFeaturebase) return\n // if not logged in, do not load the script\n if (!user?.name) return\n if (!siteInfo) return\n\n // if already loaded, do not load again\n if (scriptLoaded) return\n\n // Load the Featurebase script\n loadScript()\n\n // Initialize Featurebase\n initialize()\n\n // Initialize changelog widget\n initializeChangelog()\n\n // Initialize feedback widget\n initializeFeedbackWidget()\n\n // Initialize portal widget\n initializePortalWidget()\n }, [user?.name, scriptLoaded, siteInfo])\n\n const [identified, setIdentified] = useState(false)\n // verify user\n useEffect(() => {\n // check if we can identify the user\n if (!user?.name || !connect || !verification || !scriptLoaded) return\n // if we are already identified, do not identify again\n if (identified) return\n // Identify the user\n identifyUser()\n setIdentified(true)\n }, [\n user?.name,\n connect?.instanceId,\n verification?.userHash,\n scriptLoaded,\n window.location.pathname,\n identified,\n ])\n\n // load messenger widget once verification is done loading\n // we don't need verification but we should use it if we have it\n useEffect(() => {\n // wait for script to be loaded and verification to finish loading\n if (isLoadingVerification || !scriptLoaded) return\n\n // initialize the messenger widget\n initializeMessenger()\n }, [verification, isLoadingVerification, scriptLoaded])\n\n const openFeedback: FeedbackContextType['openFeedback'] = () => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'openFeedbackWidget',\n },\n })\n }\n\n const openPortal = (\n page:\n | 'MainView'\n | 'RoadmapView'\n | 'CreatePost'\n | 'PostsView'\n | 'ChangelogView'\n | 'HelpView' = 'MainView',\n articleId?: string,\n ) => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'changePage',\n payload: page,\n openWidget: true,\n ...(articleId && { articleId }),\n },\n })\n }\n\n const [messengerVisibility, setMessengerVisibility] = useState(false)\n const supportElement = document.getElementById('fb-messenger-root')\n\n const setSupportDisplay = (show: boolean) =>\n supportElement instanceof HTMLElement &&\n (supportElement.style.display = show ? 'block' : 'none')\n\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n setSupportDisplay(messengerVisibility)\n }, [scriptLoaded, messengerLoaded, messengerVisibility])\n\n // when the messenger is hidden, we need to hide the root element again\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('onHide', function () {\n // hide the messenger root element\n setMessengerVisibility(false)\n })\n }\n }, [scriptLoaded, messengerLoaded])\n\n const openSupport: FeedbackContextType['openSupport'] = (page = 'Home', id) => {\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n window.alert('Featurebase SDK is not loaded yet. Please try again later.')\n console.warn('Featurebase SDK is not loaded yet.')\n return\n }\n\n if (messengerVisibility) {\n // if the messenger is already visible, close it\n win.Featurebase('hide')\n setMessengerVisibility(false)\n return\n }\n\n // ensure the messenger is visible\n setMessengerVisibility(true)\n\n switch (page) {\n case 'Home':\n // Show messenger home\n win.Featurebase('show')\n break\n case 'Messages':\n // Show messages view\n win.Featurebase('show', 'messages')\n break\n case 'Changelog':\n // Show changelog view\n win.Featurebase('show', 'changelog')\n break\n case 'Help':\n // Open help center\n win.Featurebase('show', 'help')\n break\n case 'ShowArticle':\n // Open a specific help article\n if (id) win.Featurebase('showArticle', id)\n else win.Featurebase('show', 'help')\n break\n case 'NewMessage':\n // Open new message dialog\n win.Featurebase('showNewMessage', id)\n break\n default:\n // Default to showing the main widget\n win.Featurebase('show')\n break\n }\n }\n\n return (\n <FeedbackContext.Provider\n value={{\n openSupport,\n openFeedback,\n openPortal,\n messengerLoaded,\n unreadCount,\n messengerVisibility,\n setMessengerVisibility,\n loaded: scriptLoaded,\n }}\n >\n {children}\n </FeedbackContext.Provider>\n )\n}\n\nexport const useFeedback = (): FeedbackContextType => {\n const context = useContext(FeedbackContext)\n if (!context) {\n throw new Error('useFeedback must be used within a FeedbackProvider')\n }\n return context\n}\n"],"names":["FeedbackContext","createContext","FeedbackProvider","children","scriptLoaded","setScriptLoaded","useState","user","useGetCurrentUserQuery","siteInfo","useGetSiteInfoQuery","connect","useGetYnputCloudInfoQuery","verification","isLoadingVerification","useGetFeedbackVerificationQuery","loadScript","script","initialize","win","serverVersion","_a","frontendVersion","_b","identifyUser","verificationData","cloneDeep","cleanObject","obj","key","identifyData","err","messengerLoaded","setMessengerLoaded","unreadCount","setUnreadCount","initializeMessenger","initializeChangelog","categories","adminCategories","initializeFeedbackWidget","error","initializePortalWidget","useEffect","identified","setIdentified","openFeedback","openPortal","page","articleId","messengerVisibility","setMessengerVisibility","supportElement","setSupportDisplay","show","openSupport","id","jsx","useFeedback","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackContext.es.js","sources":["../../../../../src/components/Feedback/FeedbackContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { useGetFeedbackVerificationQuery } from '@shared/api'\nimport { useGlobalContext } from '@shared/context'\n\nexport type FeedbackContextType = {\n loaded: boolean\n openSupport: (\n page?: 'Home' | 'Messages' | 'Changelog' | 'Help' | 'NewMessage' | 'ShowArticle',\n id?: string,\n ) => void\n messengerLoaded: boolean // whether the messenger widget is loaded\n unreadCount: number // number of unread messages\n messengerVisibility: boolean\n setMessengerVisibility: (show: boolean) => void // show/hide the messenger icon\n openFeedback: () => void\n openPortal: (\n page?: 'MainView' | 'RoadmapView' | 'CreatePost' | 'PostsView' | 'ChangelogView' | 'HelpView',\n articleId?: string,\n ) => void\n}\n\nconst FeedbackContext = createContext<FeedbackContextType | undefined>(undefined)\n\ntype FeedbackProviderProps = {\n children: ReactNode\n}\n\nexport const FeedbackProvider: React.FC<FeedbackProviderProps> = ({ children }) => {\n const [scriptLoaded, setScriptLoaded] = useState(false)\n const { siteInfo, user, cloudInfo } = useGlobalContext()\n const { data: verification, isLoading: isLoadingVerification } = useGetFeedbackVerificationQuery(\n {},\n {\n skip: !user?.name || !cloudInfo,\n },\n )\n\n const loadScript = () => {\n if (!scriptLoaded) {\n const script = document.createElement('script')\n script.src = 'https://do.featurebase.app/js/sdk.js'\n script.id = 'featurebase-sdk'\n script.async = true\n document.body.appendChild(script)\n setScriptLoaded(true)\n }\n }\n\n const initialize = () => {\n // Initialize Featurebase\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n win.Featurebase = function () {\n ;(win.Featurebase.q = win.Featurebase.q || []).push(arguments)\n }\n }\n }\n\n const serverVersion = siteInfo?.version?.split('+')[0] || 'unknown'\n const frontendVersion = siteInfo?.version?.split('+')[1] || 'unknown'\n\n const identifyUser = () => {\n if (!user?.name || !verification?.available) return\n\n const identifyData = {\n ...verification.data,\n customFields: {\n origin: window.location.origin,\n serverVersion: serverVersion,\n frontendVersion: frontendVersion,\n instanceId: cloudInfo?.instanceId,\n },\n }\n\n console.log(identifyData)\n\n const win = window as any\n win.Featurebase('identify', identifyData, (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase identify completed')\n }\n })\n }\n\n const [messengerLoaded, setMessengerLoaded] = useState(false)\n const [unreadCount, setUnreadCount] = useState(0)\n\n // MESSENGER WIDGET\n const initializeMessenger = (): void => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n console.log('Initializing Featurebase messenger widget')\n if (!verification?.available)\n return console.warn('messenger verification not available, skipping messenger init')\n win.Featurebase(\n 'boot',\n {\n theme: 'dark',\n ...verification?.data,\n },\n (err: any) => {\n // Callback function. Called when identify completed.\n if (err) {\n console.error(err)\n } else {\n console.log('Featurebase messenger completed')\n setMessengerLoaded(true)\n\n // register event listener for unread messages\n win.Featurebase('onUnreadCountChange', function (unreadCount: number) {\n setUnreadCount(unreadCount)\n })\n }\n },\n )\n }\n }\n\n // CHANGELOG WIDGET\n const initializeChangelog = (): boolean => {\n // everyone sees highlights\n const categories: string[] = []\n\n if (user?.data?.isAdmin) {\n // admins see everything\n const adminCategories = ['Server', 'Addon', 'Pipeline']\n categories.push(...adminCategories)\n } else if (!siteInfo?.disableChangelog) {\n // users only see highlights (unless disabled)\n // admins do not see highlights as it is a subset of the other categories\n categories.push('Highlights')\n }\n\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('init_changelog_widget', {\n organization: 'ayon',\n dropdown: {\n enabled: true,\n },\n popup: {\n enabled: true,\n usersName: user?.attrib?.fullName,\n autoOpenForNewUpdates: true,\n },\n category: categories,\n theme: 'dark',\n })\n }\n return false\n }\n\n // FEEDBACK WIDGET\n const initializeFeedbackWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_feedback_widget',\n {\n organization: 'ayon',\n theme: 'dark',\n metadata: {},\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing feedback widget:', error)\n } else {\n }\n },\n )\n }\n return false\n }\n\n // PORTAL WIDGET (old)\n const initializePortalWidget = (): boolean => {\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase(\n 'initialize_portal_widget',\n {\n organization: 'ayon',\n fullScreen: true,\n initialPage: 'MainView',\n },\n (error: any) => {\n if (error) {\n console.error('Error initializing portal widget:', error)\n return false\n } else {\n return true\n }\n },\n )\n }\n return false\n }\n\n // Use an environment variable to skip loading Featurebase in certain environments\n // @ts-expect-error: Vite provides import.meta.env at runtime\n const skipFeaturebase = import.meta.env.VITE_SKIP_FEATUREBASE === 'true'\n\n // Load Featurebase script and initialize widgets\n useEffect(() => {\n // if skip flag is set, do not load the script\n if (skipFeaturebase) return\n // if not logged in, do not load the script\n if (!user?.name) return\n if (!siteInfo) return\n\n // if already loaded, do not load again\n if (scriptLoaded) return\n\n // Load the Featurebase script\n loadScript()\n\n // Initialize Featurebase\n initialize()\n\n // Initialize changelog widget\n initializeChangelog()\n\n // Initialize feedback widget\n initializeFeedbackWidget()\n\n // Initialize portal widget\n initializePortalWidget()\n }, [user?.name, scriptLoaded, siteInfo])\n\n const [identified, setIdentified] = useState(false)\n // verify user\n useEffect(() => {\n // check if we can identify the user\n if (!user?.name || !cloudInfo || !verification || !scriptLoaded) return\n // if we are already identified, do not identify again\n if (identified) return\n // Identify the user\n identifyUser()\n setIdentified(true)\n }, [\n user?.name,\n cloudInfo?.instanceId,\n verification?.available,\n scriptLoaded,\n window.location.pathname,\n identified,\n ])\n\n // load messenger widget once verification is done loading\n // we don't need verification but we should use it if we have it\n useEffect(() => {\n // wait for script to be loaded and verification to finish loading\n if (isLoadingVerification || !scriptLoaded) return\n\n // initialize the messenger widget\n initializeMessenger()\n }, [verification, isLoadingVerification, scriptLoaded])\n\n const openFeedback: FeedbackContextType['openFeedback'] = () => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'openFeedbackWidget',\n },\n })\n }\n\n const openPortal = (\n page:\n | 'MainView'\n | 'RoadmapView'\n | 'CreatePost'\n | 'PostsView'\n | 'ChangelogView'\n | 'HelpView' = 'MainView',\n articleId?: string,\n ) => {\n window.postMessage({\n target: 'FeaturebaseWidget',\n data: {\n action: 'changePage',\n payload: page,\n openWidget: true,\n ...(articleId && { articleId }),\n },\n })\n }\n\n const [messengerVisibility, setMessengerVisibility] = useState(false)\n const supportElement = document.getElementById('fb-messenger-root')\n\n const setSupportDisplay = (show: boolean) =>\n supportElement instanceof HTMLElement &&\n (supportElement.style.display = show ? 'block' : 'none')\n\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n setSupportDisplay(messengerVisibility)\n }, [scriptLoaded, messengerLoaded, messengerVisibility])\n\n // when the messenger is hidden, we need to hide the root element again\n useEffect(() => {\n if (!scriptLoaded || !messengerLoaded) return\n const win = window as any\n if (typeof win.Featurebase === 'function') {\n win.Featurebase('onHide', function () {\n // hide the messenger root element\n setMessengerVisibility(false)\n })\n }\n }, [scriptLoaded, messengerLoaded])\n\n const openSupport: FeedbackContextType['openSupport'] = (page = 'Home', id) => {\n const win = window as any\n if (typeof win.Featurebase !== 'function') {\n window.alert('Featurebase SDK is not loaded yet. Please try again later.')\n console.warn('Featurebase SDK is not loaded yet.')\n return\n }\n\n if (messengerVisibility) {\n // if the messenger is already visible, close it\n win.Featurebase('hide')\n setMessengerVisibility(false)\n return\n }\n\n // ensure the messenger is visible\n setMessengerVisibility(true)\n\n switch (page) {\n case 'Home':\n // Show messenger home\n win.Featurebase('show')\n break\n case 'Messages':\n // Show messages view\n win.Featurebase('show', 'messages')\n break\n case 'Changelog':\n // Show changelog view\n win.Featurebase('show', 'changelog')\n break\n case 'Help':\n // Open help center\n win.Featurebase('show', 'help')\n break\n case 'ShowArticle':\n // Open a specific help article\n if (id) win.Featurebase('showArticle', id)\n else win.Featurebase('show', 'help')\n break\n case 'NewMessage':\n // Open new message dialog\n win.Featurebase('showNewMessage', id)\n break\n default:\n // Default to showing the main widget\n win.Featurebase('show')\n break\n }\n }\n\n return (\n <FeedbackContext.Provider\n value={{\n openSupport,\n openFeedback,\n openPortal,\n messengerLoaded,\n unreadCount,\n messengerVisibility,\n setMessengerVisibility,\n loaded: scriptLoaded,\n }}\n >\n {children}\n </FeedbackContext.Provider>\n )\n}\n\nexport const useFeedback = (): FeedbackContextType => {\n const context = useContext(FeedbackContext)\n if (!context) {\n throw new Error('useFeedback must be used within a FeedbackProvider')\n }\n return context\n}\n"],"names":["FeedbackContext","createContext","FeedbackProvider","children","scriptLoaded","setScriptLoaded","useState","siteInfo","user","cloudInfo","useGlobalContext","verification","isLoadingVerification","useGetFeedbackVerificationQuery","loadScript","script","initialize","win","serverVersion","_a","frontendVersion","_b","identifyUser","identifyData","err","messengerLoaded","setMessengerLoaded","unreadCount","setUnreadCount","initializeMessenger","initializeChangelog","categories","adminCategories","initializeFeedbackWidget","error","initializePortalWidget","useEffect","identified","setIdentified","openFeedback","openPortal","page","articleId","messengerVisibility","setMessengerVisibility","supportElement","setSupportDisplay","show","openSupport","id","jsx","useFeedback","context","useContext"],"mappings":"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"}