@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.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +68 -66
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +182 -167
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +25 -24
- package/dist/Views.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- package/dist/_virtual/index.es2.js +2 -5
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +5 -2
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/_virtual/index.es5.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +107 -106
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +135 -133
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +32 -26
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +54 -52
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js +88 -84
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +34 -32
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
- package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/products.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js +3 -0
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -4
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +70 -68
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -5
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +119 -112
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +106 -105
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +54 -52
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +11 -9
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +45 -43
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +79 -77
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +44 -42
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +263 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -64
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +140 -142
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +50 -48
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +49 -47
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
- package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +321 -258
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +27 -25
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +48 -46
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +9 -7
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +109 -112
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +49 -47
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +50 -48
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +162 -160
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +58 -56
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +112 -103
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +88 -86
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +19 -17
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +36 -32
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -15
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +45 -43
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -47
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +45 -46
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +5 -3
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +110 -108
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +10 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +13 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +42 -41
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +46 -42
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +335 -329
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +54 -52
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +43 -41
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +53 -51
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +51 -49
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +235 -214
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +160 -156
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +59 -57
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +26 -90
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +69 -69
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +111 -111
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +58 -57
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +51 -49
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +60 -53
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +68 -66
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +63 -59
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +51 -49
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +52 -50
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +67 -65
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +55 -53
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +58 -56
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +122 -233
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +64 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +47 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +114 -112
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -47
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +8 -6
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +100 -94
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +76 -76
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
- package/dist/shared/src/context/GlobalContext.es.js +123 -0
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +8 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
- package/dist/shared/src/context/ProjectContext.es.js +182 -0
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +48 -46
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +27 -12
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
- package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
- package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
- package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +4 -2
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -5
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +18 -16
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/actions.d.ts +2 -0
- package/dist/types/api/generated/attributes.d.ts +20 -5
- package/dist/types/api/generated/authentication.d.ts +2 -0
- package/dist/types/api/generated/configuration.d.ts +3 -1
- package/dist/types/api/generated/entityLists.d.ts +22 -5
- package/dist/types/api/generated/enums.d.ts +36 -0
- package/dist/types/api/generated/graphql.d.ts +9 -2
- package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
- package/dist/types/api/generated/onboarding.d.ts +1 -0
- package/dist/types/api/generated/products.d.ts +9 -3
- package/dist/types/api/generated/projects.d.ts +4 -4
- package/dist/types/api/generated/system.d.ts +27 -5
- package/dist/types/api/generated/users.d.ts +2 -0
- package/dist/types/api/generated/views.d.ts +40 -5
- package/dist/types/api/generated/ynputCloud.d.ts +7 -20
- package/dist/types/api/queries/actions/getActions.d.ts +6 -6
- package/dist/types/api/queries/activities/getActivities.d.ts +10 -8
- package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
- package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
- package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
- package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
- package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
- package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
- package/dist/types/api/queries/cloud/cloud.d.ts +21 -21
- package/dist/types/api/queries/entities/getEntity.d.ts +12 -10
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +6 -4
- package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +190 -188
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
- package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
- package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
- package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
- package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
- package/dist/types/api/queries/overview/getOverview.d.ts +12 -10
- package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
- package/dist/types/api/queries/project/getProject.d.ts +190 -6
- package/dist/types/api/queries/review/getReview.d.ts +6 -6
- package/dist/types/api/queries/share/share.d.ts +2 -2
- package/dist/types/api/queries/system/getSystem.d.ts +91 -81
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +13 -8
- package/dist/types/api/queries/users/getUsers.d.ts +63 -57
- package/dist/types/api/queries/users/guests.d.ts +2 -2
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +29 -6
- package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
- package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
- package/dist/types/api/queries/views/getViews.d.ts +8 -8
- package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
- package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
- package/dist/types/components/index.d.ts +31 -30
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
- package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
- package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
- package/dist/types/containers/Views/index.d.ts +2 -2
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
- package/dist/types/context/AddonProjectContext.d.ts +9 -14
- package/dist/types/context/DetailsPanelContext.d.ts +1 -2
- package/dist/types/context/GlobalContext.d.ts +25 -0
- package/dist/types/context/ProjectContext.d.ts +33 -0
- package/dist/types/context/index.d.ts +2 -0
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
- package/dist/types/util/index.d.ts +0 -2
- package/dist/types/util/versionUploadHelpers.d.ts +0 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +55 -58
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -99
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
- package/dist/shared/src/util/productTypes.cjs.js +0 -2
- package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
- package/dist/shared/src/util/productTypes.es.js +0 -25
- package/dist/shared/src/util/productTypes.es.js.map +0 -1
- package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
- package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
- 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":"g7IA0BA,MAAMA,EAAkBC,gBAA+C,MAAS,EAMnEC,EAAoD,CAAC,CAAE,SAAAC,KAAe,SACjF,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAAS,EAAK,EAEhD,CAAE,KAAMC,CAAK,EAAIC,yBAAuB,EACxC,CAAE,KAAMC,CAAS,EAAIC,sBAAoB,CAAE,KAAM,EAAK,EAAG,CAAE,KAAM,EAACH,GAAA,MAAAA,EAAM,MAAM,EAC9E,CAAE,KAAMI,CAAA,EAAYC,EAAA,0BAA0B,OAAW,CAAE,KAAM,EAACL,GAAA,MAAAA,EAAM,MAAM,EAC9E,CAAE,KAAMM,EAAc,UAAWC,CAA0B,EAAAC,EAAA,gCAC/D,OACA,CACE,KAAM,EAACR,GAAA,MAAAA,EAAM,OAAQ,CAACI,CAAA,CAE1B,EAEMK,EAAa,IAAM,CACvB,GAAI,CAACZ,EAAc,CACX,MAAAa,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,IAAM,uCACbA,EAAO,GAAK,kBACZA,EAAO,MAAQ,GACN,SAAA,KAAK,YAAYA,CAAM,EAChCZ,EAAgB,EAAI,CAAA,CAExB,EAEMa,EAAa,IAAM,CAEvB,MAAMC,EAAM,OACR,OAAOA,EAAI,aAAgB,aAC7BA,EAAI,YAAc,UAAY,EAC1BA,EAAI,YAAY,EAAIA,EAAI,YAAY,GAAK,CAAA,GAAI,KAAK,SAAS,CAC/D,EAEJ,EAEMC,IAAgBC,EAAAZ,GAAA,YAAAA,EAAU,UAAV,YAAAY,EAAmB,MAAM,KAAK,KAAM,UACpDC,IAAkBC,EAAAd,GAAA,YAAAA,EAAU,UAAV,YAAAc,EAAmB,MAAM,KAAK,KAAM,UAEtDC,EAAe,IAAM,CACzB,GAAI,EAACjB,GAAA,MAAAA,EAAM,OAAQ,CAACM,EAAc,OAC5B,MAAAY,EAAmBC,YAAUb,CAAY,EAEzCc,EAAeC,GAAa,CAChC,OAAO,KAAKA,CAAG,EAAE,QAASC,GAAQ,CAC5BD,EAAIC,CAAG,GAAK,OAAOD,EAAIC,CAAG,GAAM,SACtBF,EAAAC,EAAIC,CAAG,CAAC,GACXD,EAAIC,CAAG,IAAM,QAAaD,EAAIC,CAAG,IAAM,OAChD,OAAOD,EAAIC,CAAG,CAChB,CACD,CACH,EAEAF,EAAYF,CAAgB,EAE5B,MAAMK,EAAe,CACnB,GAAGL,EACH,aAAc,CACZ,OAAQ,OAAO,SAAS,OACxB,cAAAL,EACA,gBAAAE,EACA,WAAYX,GAAA,YAAAA,EAAS,UAAA,CAEzB,EAEA,QAAQ,IAAImB,CAAY,EAEZ,OACR,YAAY,WAAYA,EAAeC,GAAa,CAElDA,EACF,QAAQ,MAAMA,CAAG,EAEjB,QAAQ,IAAI,gCAAgC,CAC9C,CACD,CACH,EAEM,CAACC,EAAiBC,CAAkB,EAAI3B,EAAAA,SAAS,EAAK,EACtD,CAAC4B,EAAaC,CAAc,EAAI7B,EAAAA,SAAS,CAAC,EAG1C8B,EAAsB,IAAY,CACtC,MAAMjB,EAAM,OACR,OAAOA,EAAI,aAAgB,aAC7B,QAAQ,IAAI,2CAA2C,EACnDA,EAAA,YACF,OACA,CACE,MAAO,2BACP,MAAON,GAAA,YAAAA,EAAc,MACrB,MAAO,OACP,OAAQA,GAAA,YAAAA,EAAc,OACtB,SAAUA,GAAA,YAAAA,EAAc,QAC1B,EACCkB,GAAa,CAERA,EACF,QAAQ,MAAMA,CAAG,GAEjB,QAAQ,IAAI,iCAAiC,EAC7CE,EAAmB,EAAI,EAGnBd,EAAA,YAAY,sBAAuB,SAAUe,EAAqB,CACpEC,EAAeD,CAAW,CAAA,CAC3B,EACH,CAEJ,EAEJ,EAGMG,EAAsB,IAAe,SAEzC,MAAMC,EAAuB,CAAC,EAE1B,IAAAjB,EAAAd,GAAA,YAAAA,EAAM,OAAN,MAAAc,EAAY,QAAS,CAEvB,MAAMkB,EAAkB,CAAC,SAAU,QAAS,UAAU,EAC3CD,EAAA,KAAK,GAAGC,CAAe,CAAA,MACxB9B,GAAA,MAAAA,EAAU,kBAGpB6B,EAAW,KAAK,YAAY,EAG9B,MAAMnB,EAAM,OACR,OAAA,OAAOA,EAAI,aAAgB,YAC7BA,EAAI,YAAY,wBAAyB,CACvC,aAAc,OACd,SAAU,CACR,QAAS,EACX,EACA,MAAO,CACL,QAAS,GACT,WAAWI,EAAAhB,GAAA,YAAAA,EAAM,SAAN,YAAAgB,EAAc,SACzB,sBAAuB,EACzB,EACA,SAAUe,EACV,MAAO,MAAA,CACR,EAEI,EACT,EAGME,EAA2B,IAAe,CAC9C,MAAMrB,EAAM,OACR,OAAA,OAAOA,EAAI,aAAgB,YACzBA,EAAA,YACF,6BACA,CACE,aAAc,OACd,MAAO,OACP,SAAU,CAAA,CACZ,EACCsB,GAAe,CACVA,GACM,QAAA,MAAM,sCAAuCA,CAAK,CAE5D,CAEJ,EAEK,EACT,EAGMC,EAAyB,IAAe,CAC5C,MAAMvB,EAAM,OACR,OAAA,OAAOA,EAAI,aAAgB,YACzBA,EAAA,YACF,2BACA,CACE,aAAc,OACd,WAAY,GACZ,YAAa,UACf,EACCsB,GACKA,GACM,QAAA,MAAM,oCAAqCA,CAAK,EACjD,IAEA,EAGb,EAEK,EACT,EAOAE,EAAAA,UAAU,IAAM,CAITpC,GAAA,MAAAA,EAAM,MACNE,IAGDL,IAGOY,EAAA,EAGAE,EAAA,EAGSmB,EAAA,EAGKG,EAAA,EAGFE,EAAA,KACtB,CAACnC,GAAA,YAAAA,EAAM,KAAMH,EAAcK,CAAQ,CAAC,EAEvC,KAAM,CAACmC,EAAYC,CAAa,EAAIvC,EAAAA,SAAS,EAAK,EAElDqC,EAAAA,UAAU,IAAM,CAEV,EAACpC,GAAA,MAAAA,EAAM,OAAQ,CAACI,GAAW,CAACE,GAAgB,CAACT,GAE7CwC,IAESpB,EAAA,EACbqB,EAAc,EAAI,EAAA,EACjB,CACDtC,GAAA,YAAAA,EAAM,KACNI,GAAA,YAAAA,EAAS,WACTE,GAAA,YAAAA,EAAc,SACdT,EACA,OAAO,SAAS,SAChBwC,CAAA,CACD,EAIDD,EAAAA,UAAU,IAAM,CAEV7B,GAAyB,CAACV,GAGVgC,EAAA,CACnB,EAAA,CAACvB,EAAcC,EAAuBV,CAAY,CAAC,EAEtD,MAAM0C,EAAoD,IAAM,CAC9D,OAAO,YAAY,CACjB,OAAQ,oBACR,KAAM,CACJ,OAAQ,oBAAA,CACV,CACD,CACH,EAEMC,EAAa,CACjBC,EAMiB,WACjBC,IACG,CACH,OAAO,YAAY,CACjB,OAAQ,oBACR,KAAM,CACJ,OAAQ,aACR,QAASD,EACT,WAAY,GACZ,GAAIC,GAAa,CAAE,UAAAA,CAAU,CAAA,CAC/B,CACD,CACH,EAEM,CAACC,EAAqBC,CAAsB,EAAI7C,EAAAA,SAAS,EAAK,EAC9D8C,EAAiB,SAAS,eAAe,mBAAmB,EAE5DC,EAAqBC,GACzBF,aAA0B,cACzBA,EAAe,MAAM,QAAUE,EAAO,QAAU,QAEnDX,EAAAA,UAAU,IAAM,CACV,CAACvC,GAAgB,CAAC4B,GACtBqB,EAAkBH,CAAmB,CACpC,EAAA,CAAC9C,EAAc4B,EAAiBkB,CAAmB,CAAC,EAGvDP,EAAAA,UAAU,IAAM,CACV,GAAA,CAACvC,GAAgB,CAAC4B,EAAiB,OACvC,MAAMb,EAAM,OACR,OAAOA,EAAI,aAAgB,YACzBA,EAAA,YAAY,SAAU,UAAY,CAEpCgC,EAAuB,EAAK,CAAA,CAC7B,CACH,EACC,CAAC/C,EAAc4B,CAAe,CAAC,EAElC,MAAMuB,EAAkD,CAACP,EAAO,OAAQQ,IAAO,CAC7E,MAAMrC,EAAM,OACR,GAAA,OAAOA,EAAI,aAAgB,WAAY,CACzC,OAAO,MAAM,4DAA4D,EACzE,QAAQ,KAAK,oCAAoC,EACjD,MAAA,CAGF,GAAI+B,EAAqB,CAEvB/B,EAAI,YAAY,MAAM,EACtBgC,EAAuB,EAAK,EAC5B,MAAA,CAMF,OAFAA,EAAuB,EAAI,EAEnBH,EAAM,CACZ,IAAK,OAEH7B,EAAI,YAAY,MAAM,EACtB,MACF,IAAK,WAECA,EAAA,YAAY,OAAQ,UAAU,EAClC,MACF,IAAK,YAECA,EAAA,YAAY,OAAQ,WAAW,EACnC,MACF,IAAK,OAECA,EAAA,YAAY,OAAQ,MAAM,EAC9B,MACF,IAAK,cAECqC,EAAIrC,EAAI,YAAY,cAAeqC,CAAE,EACpCrC,EAAI,YAAY,OAAQ,MAAM,EACnC,MACF,IAAK,aAECA,EAAA,YAAY,iBAAkBqC,CAAE,EACpC,MACF,QAEErC,EAAI,YAAY,MAAM,EACtB,KAAA,CAEN,EAGE,OAAAsC,EAAA,kBAAA,IAACzD,EAAgB,SAAhB,CACC,MAAO,CACL,YAAAuD,EACA,aAAAT,EACA,WAAAC,EACA,gBAAAf,EACA,YAAAE,EACA,oBAAAgB,EACA,uBAAAC,EACA,OAAQ/C,CACV,EAEC,SAAAD,CAAA,CACH,CAEJ,EAEauD,EAAc,IAA2B,CAC9C,MAAAC,EAAUC,aAAW5D,CAAe,EAC1C,GAAI,CAAC2D,EACG,MAAA,IAAI,MAAM,oDAAoD,EAE/D,OAAAA,CACT"}
|
|
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
|
|
2
|
-
import {
|
|
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 {
|
|
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
|
|
76
|
+
import "../../api/queries/system/getSystem.es.js";
|
|
78
77
|
import "../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
79
|
-
import
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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) || !
|
|
105
|
+
skip: !(t != null && t.name) || !s
|
|
92
106
|
}
|
|
93
|
-
),
|
|
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),
|
|
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
|
-
},
|
|
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
|
-
},
|
|
104
|
-
if (!(t != null && t.name) || !r) return;
|
|
105
|
-
const e =
|
|
106
|
-
|
|
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:
|
|
116
|
-
frontendVersion:
|
|
117
|
-
instanceId:
|
|
123
|
+
serverVersion: M,
|
|
124
|
+
frontendVersion: S,
|
|
125
|
+
instanceId: s == null ? void 0 : s.instanceId
|
|
118
126
|
}
|
|
119
127
|
};
|
|
120
|
-
console.log(
|
|
121
|
-
|
|
128
|
+
console.log(e), window.Featurebase("identify", e, (o) => {
|
|
129
|
+
o ? console.error(o) : console.log("Featurebase identify completed");
|
|
122
130
|
});
|
|
123
|
-
}, [
|
|
131
|
+
}, [p, E] = m(!1), [P, V] = m(0), v = () => {
|
|
124
132
|
const e = window;
|
|
125
|
-
typeof e.Featurebase == "function"
|
|
126
|
-
"
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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 ((
|
|
146
|
-
const
|
|
147
|
-
e.push(...
|
|
148
|
-
} else
|
|
149
|
-
const
|
|
150
|
-
return typeof
|
|
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: (
|
|
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
|
-
},
|
|
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
|
-
(
|
|
173
|
-
|
|
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
|
-
(
|
|
192
|
+
(i) => i ? (console.error("Error initializing portal widget:", i), !1) : !0
|
|
186
193
|
), !1;
|
|
187
194
|
};
|
|
188
|
-
|
|
189
|
-
t != null && t.name &&
|
|
190
|
-
}, [t == null ? void 0 : t.name, a,
|
|
191
|
-
const [
|
|
192
|
-
|
|
193
|
-
!(t != null && t.name) || !
|
|
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
|
-
|
|
197
|
-
r == null ? void 0 : r.
|
|
203
|
+
s == null ? void 0 : s.instanceId,
|
|
204
|
+
r == null ? void 0 : r.available,
|
|
198
205
|
a,
|
|
199
206
|
window.location.pathname,
|
|
200
|
-
|
|
201
|
-
]),
|
|
202
|
-
|
|
203
|
-
}, [r,
|
|
204
|
-
const
|
|
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
|
-
},
|
|
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
|
-
...
|
|
225
|
+
...i && { articleId: i }
|
|
219
226
|
}
|
|
220
227
|
});
|
|
221
|
-
}, [
|
|
222
|
-
|
|
223
|
-
!a || !
|
|
224
|
-
}, [a,
|
|
225
|
-
if (!a || !
|
|
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
|
-
|
|
235
|
+
u(!1);
|
|
229
236
|
});
|
|
230
|
-
}, [a,
|
|
231
|
-
const
|
|
232
|
-
const
|
|
233
|
-
if (typeof
|
|
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 (
|
|
238
|
-
|
|
244
|
+
if (l) {
|
|
245
|
+
o.Featurebase("hide"), u(!1);
|
|
239
246
|
return;
|
|
240
247
|
}
|
|
241
|
-
switch (
|
|
248
|
+
switch (u(!0), e) {
|
|
242
249
|
case "Home":
|
|
243
|
-
|
|
250
|
+
o.Featurebase("show");
|
|
244
251
|
break;
|
|
245
252
|
case "Messages":
|
|
246
|
-
|
|
253
|
+
o.Featurebase("show", "messages");
|
|
247
254
|
break;
|
|
248
255
|
case "Changelog":
|
|
249
|
-
|
|
256
|
+
o.Featurebase("show", "changelog");
|
|
250
257
|
break;
|
|
251
258
|
case "Help":
|
|
252
|
-
|
|
259
|
+
o.Featurebase("show", "help");
|
|
253
260
|
break;
|
|
254
261
|
case "ShowArticle":
|
|
255
|
-
|
|
262
|
+
i ? o.Featurebase("showArticle", i) : o.Featurebase("show", "help");
|
|
256
263
|
break;
|
|
257
264
|
case "NewMessage":
|
|
258
|
-
|
|
265
|
+
o.Featurebase("showNewMessage", i);
|
|
259
266
|
break;
|
|
260
267
|
default:
|
|
261
|
-
|
|
268
|
+
o.Featurebase("show");
|
|
262
269
|
break;
|
|
263
270
|
}
|
|
264
271
|
};
|
|
265
|
-
return /* @__PURE__ */
|
|
266
|
-
|
|
272
|
+
return /* @__PURE__ */ q.jsx(
|
|
273
|
+
k.Provider,
|
|
267
274
|
{
|
|
268
275
|
value: {
|
|
269
|
-
openSupport:
|
|
270
|
-
openFeedback:
|
|
271
|
-
openPortal:
|
|
272
|
-
messengerLoaded:
|
|
273
|
-
unreadCount:
|
|
274
|
-
messengerVisibility:
|
|
275
|
-
setMessengerVisibility:
|
|
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:
|
|
285
|
+
children: c
|
|
279
286
|
}
|
|
280
287
|
);
|
|
281
|
-
},
|
|
282
|
-
const
|
|
283
|
-
if (!
|
|
288
|
+
}, At = () => {
|
|
289
|
+
const c = K(k);
|
|
290
|
+
if (!c)
|
|
284
291
|
throw new Error("useFeedback must be used within a FeedbackProvider");
|
|
285
|
-
return
|
|
292
|
+
return c;
|
|
286
293
|
};
|
|
287
294
|
export {
|
|
288
|
-
|
|
289
|
-
|
|
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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"}
|