@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":"CommentInput.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.tsx"],"sourcesContent":["// React and related hooks\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\n\n// Third-party libraries\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport ReactQuill, { Quill } from 'react-quill-ayon'\n\n// Components\nimport { Button, Icon, SaveButton } from '@ynput/ayon-react-components'\nimport CommentMentionSelect from '../CommentMentionSelect/CommentMentionSelect'\nimport InputMarkdownConvert from './InputMarkdownConvert'\nimport FilesGrid from '../FilesGrid'\n\n// Styled components\nimport * as Styled from './CommentInput.styled'\nimport { QuillListStyles } from '../../../../components/QuillListStyles'\n\n// Helpers and utilities\nimport getMentionOptions from '../../mentionHelpers/getMentionOptions'\nimport getMentionUsers from '../../mentionHelpers/getMentionUsers'\nimport getMentionTasks from '../../mentionHelpers/getMentionTasks'\nimport getMentionVersions from '../../mentionHelpers/getMentionVersions'\nimport { convertToMarkdown } from './quillToMarkdown'\nimport { handleFileDrop, parseImages, typeWithDelay } from './helpers'\nimport { getModules, quillFormats } from './modules'\n\n// Hooks\nimport useInitialValue from './hooks/useInitialValue'\nimport useSetCursorEnd from './hooks/useSetCursorEnd'\nimport useMentionLink from './hooks/useMentionLink'\nimport useAnnotationsSync from './hooks/useAnnotationsSync'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n onSubmit: (markdown: string, files: any[], data?: any) => Promise<void>\n isEditing?: boolean\n disabled?: boolean\n isLoading?: boolean\n isOpen: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CommentInput: FC<CommentInputProps> = ({\n initValue,\n initFiles = [],\n initCategory = null,\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isUser = !user?.data?.isAdmin && !user?.data?.isManager\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: currentTab,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] = []\n\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n annotationMetadata = metadata\n }\n\n // convert to markdown\n const [markdown] = convertToMarkdown(editorValue)\n\n // remove img query params\n const markdownParsed = parseImages(markdown)\n\n const uploadedFiles = [...files, ...annotationFiles]\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, {\n annotations: annotationMetadata,\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n })\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isUser })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isUser","_a","_b","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_c","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","type","href","selection","startIndex","endIndex","handleSelectChange","option","handleChange","content","delta","_","editor","currentCharacter","tabOrEnter","isDelete","mentionIndex","op","retain","mentionMatch","chars","isMatch","i","char","indexInDelta","distanceMentionToRetain","mentionFull","mentionSearch","currentSelection","lineBlock","lastMentionOp","mentionLength","addTextToEditor","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","data","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommentInput.es.js","sources":["../../../../../../../src/containers/Feed/components/CommentInput/CommentInput.tsx"],"sourcesContent":["// React and related hooks\nimport React, { FC, useEffect, useMemo, useRef, useState } from 'react'\n\n// Third-party libraries\nimport clsx from 'clsx'\nimport { toast } from 'react-toastify'\nimport ReactQuill, { Quill } from 'react-quill-ayon'\n\n// Components\nimport { Button, Icon, SaveButton } from '@ynput/ayon-react-components'\nimport CommentMentionSelect from '../CommentMentionSelect/CommentMentionSelect'\nimport InputMarkdownConvert from './InputMarkdownConvert'\nimport FilesGrid from '../FilesGrid'\n\n// Styled components\nimport * as Styled from './CommentInput.styled'\nimport { QuillListStyles } from '../../../../components/QuillListStyles'\n\n// Helpers and utilities\nimport getMentionOptions from '../../mentionHelpers/getMentionOptions'\nimport getMentionUsers from '../../mentionHelpers/getMentionUsers'\nimport getMentionTasks from '../../mentionHelpers/getMentionTasks'\nimport getMentionVersions from '../../mentionHelpers/getMentionVersions'\nimport { convertToMarkdown } from './quillToMarkdown'\nimport { handleFileDrop, parseImages, typeWithDelay } from './helpers'\nimport { getModules, quillFormats } from './modules'\n\n// Hooks\nimport useInitialValue from './hooks/useInitialValue'\nimport useSetCursorEnd from './hooks/useSetCursorEnd'\nimport useMentionLink from './hooks/useMentionLink'\nimport useAnnotationsSync from './hooks/useAnnotationsSync'\nimport { useBlendedCategoryColor } from './hooks/useBlendedCategoryColor'\n\n// State management\nimport useAnnotationsUpload from './hooks/useAnnotationsUpload'\nimport { useFeedContext } from '../../context/FeedContext'\nimport { ActivityCategorySelect, isCategoryHidden, SavedAnnotationMetadata } from '../../index'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { useProjectContext } from '@shared/context'\n\nvar Delta = Quill.import('delta')\n\nconst mentionTypes = ['@', '@@', '@@@']\nexport const mentionTypeOptions = {\n '@@@': {\n id: 'task',\n },\n '@@': {\n id: 'version',\n },\n '@': {\n id: 'user',\n isCircle: true,\n },\n}\n\ninterface CommentInputProps {\n initValue: string | null\n initFiles?: any[]\n initCategory?: string | null\n onSubmit: (markdown: string, files: any[], data?: any) => Promise<void>\n isEditing?: boolean\n disabled?: boolean\n isLoading?: boolean\n isOpen: boolean\n onOpen?: () => void\n onClose?: () => void\n}\n\nconst CommentInput: FC<CommentInputProps> = ({\n initValue,\n initFiles = [],\n initCategory = null,\n onSubmit,\n isEditing,\n disabled,\n isLoading,\n isOpen,\n onOpen,\n onClose,\n}) => {\n const {\n projectName,\n entities,\n projectInfo,\n scope,\n currentTab,\n mentionSuggestionsData,\n categories,\n isGuest,\n } = useFeedContext()\n\n const { hasLicense, onPowerFeature, user } = useDetailsPanelContext()\n const isUser = !user?.data?.isAdmin && !user?.data?.isManager\n\n const project = useProjectContext()\n\n const {\n users: mentionUsers,\n versions: mentionVersions,\n tasks: mentionTasks,\n } = mentionSuggestionsData || {}\n\n const [initHeight, setInitHeight] = useState(88)\n const [editorValue, setEditorValue] = useState('')\n // file uploads\n const [files, setFiles] = useState(initFiles)\n const [filesUploading, setFilesUploading] = useState([])\n const [isDropping, setIsDropping] = useState(false)\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const { annotations, removeAnnotation, goToAnnotation } = useAnnotationsSync({\n entityId: entities[0]?.id,\n filesUploading,\n })\n\n // MENTION STATES\n const [mention, setMention] = useState<null | any>(null)\n const [mentionSelectedIndex, setMentionSelectedIndex] = useState(0)\n // CATEGORY STATE\n const [category, setCategory] = useState<null | string>(initCategory)\n const categoryOptions = categories.filter((cat) => cat.accessLevel >= 20)\n const categoryData = categories.find((cat) => cat.name === category)\n // Compute blended background color for category\n const blendedCategoryColor = useBlendedCategoryColor(categoryData?.color)\n // REFS\n const editorRef = useRef<any>(null)\n const editorContainerRef = useRef<HTMLDivElement>(null)\n\n const markdownRef = useRef<HTMLDivElement>(null)\n\n // if there is an initial value, set it so the editor is prefilled\n useInitialValue({\n markdownRef,\n initValue,\n setEditorValue,\n setInitHeight,\n isOpen: isOpen,\n filter: currentTab,\n })\n\n // When editing, set selection to the end of the editor\n useSetCursorEnd({ initHeight, editorRef, isEditing })\n // create a new quill format for mentions and registers it\n useMentionLink({ projectName })\n\n // focus on editor when opened\n useEffect(() => {\n if (isOpen) {\n editorRef.current?.getEditor()?.enable()\n // block autofocus if opened from an annotation\n if (annotations.length > 0 && files.length === 0) {\n return\n }\n\n editorRef.current?.focus()\n }\n // We don't set annotations or files as useEffect dependencies, because we don't want to focus\n // the input if it's already open but annotations change (e.g. are removed).\n }, [isOpen, editorRef])\n\n mentionTypes.sort((a, b) => b.length - a.length)\n\n const mentionOptions = useMemo(\n () =>\n getMentionOptions(\n mention?.type,\n {\n '@': () => getMentionUsers(mentionUsers),\n '@@': () => getMentionVersions(mentionVersions, project),\n '@@@': () => getMentionTasks(mentionTasks, projectInfo.taskTypes),\n },\n mention?.search,\n ),\n [mentionTasks, mentionVersions, mentionUsers, mention?.type, mention?.search],\n )\n\n // show first 5 and filter itself out\n const shownMentionOptions = mentionOptions.slice(0, 5)\n\n // triggered when a mention is selected\n const [newSelection, setNewSelection] = useState<null | number>()\n\n useEffect(() => {\n if (newSelection) {\n setNewSelection(null)\n // now we set selection to the end of the mention\n const quill = editorRef.current.getEditor()\n quill.setSelection(newSelection)\n }\n }, [newSelection])\n\n const handleSelectMention = (selectedOption: any) => {\n // get option text\n const quill = editorRef.current.getEditor()\n\n const typePrefix = mention.type // the type of mention: @, @@, @@@\n const search = typePrefix + (mention.search || '') // the full search string: @Tim\n const mentionLabel = typePrefix + selectedOption.label // the label of the mention: @Tim Bailey\n // @ts-expect-error\n const type = mentionTypeOptions[typePrefix] // the type of mention: user, version, task\n const href = `${type?.id}:${selectedOption.id}` // the href of the mention: user:user.123\n\n // get selection delta\n const selection = quill.getSelection(true)\n const selectionIndex = selection?.index || 0\n const startIndex = selectionIndex - search.length // the start index of the search\n\n // first delete the search string\n quill.deleteText(startIndex, search.length)\n\n // insert embed link\n quill.insertText(startIndex, mentionLabel, 'mention', href)\n\n const endIndex = startIndex + mentionLabel.length\n\n // insert a space after the mention\n quill.updateContents(new Delta().retain(endIndex).insert(' '))\n\n // remove single \\n after mention\n quill.updateContents(new Delta().retain(endIndex + 1).delete(1))\n\n // set selection to the end of the mention + 1\n setNewSelection(endIndex + 1)\n\n // reset mention state\n setMention(null)\n setMentionSelectedIndex(0)\n }\n\n const handleSelectChange = (option: any) => {\n handleSelectMention(option)\n }\n\n const handleChange = (content: string, delta: any, _: any, editor: any) => {\n let currentCharacter =\n (delta.ops[0] && delta.ops[0].insert) || (delta.ops[1] && delta.ops[1].insert)\n\n const tabOrEnter = currentCharacter === '\\n' || currentCharacter === '\\t'\n // find the first option\n const selectedOption = mentionOptions[mentionSelectedIndex]\n\n if (mention && tabOrEnter && selectedOption && !isGuest) {\n // get option text\n const retain = (delta.ops[0] && delta.ops[0].retain) || 0\n // prevent default\n\n // @ts-ignore\n handleSelectMention(selectedOption, retain)\n\n return\n }\n\n setEditorValue(content)\n\n const isDelete = delta.ops.length === 2 && !!delta.ops[1].delete\n\n if (!currentCharacter && isDelete) {\n currentCharacter = editor.getText(delta.ops[0].retain - 1, 1)\n }\n\n const isMention = mentionTypes.includes(currentCharacter)\n\n if (isMention) {\n const mentionIndex = delta.ops.findIndex((op: any) => 'insert' in op || 'delete' in op)\n const mention = currentCharacter\n let retain = mentionIndex === 0 ? 0 : delta.ops[mentionIndex - 1].retain\n if (isDelete) retain = retain - 1\n\n // for each mention denotation char, check if it is a mention\n // sort by length of mention denotation char\n let mentionMatch = null\n\n // loop through each mention denotation char, with longest first. First one to match is the one we want\n for (const chars of mentionTypes) {\n let isMatch = true\n // start with the last character\n if (chars.endsWith(mention)) {\n // loop through the chars backwards\n for (let i = chars.length - 1; i >= 0; i--) {\n // skip first character as that's already been checked\n if (i === 0) continue\n const char = chars[i - 1]\n const indexInDelta = retain - (chars.length - i)\n const valueCharAtIndex = editor.getText(indexInDelta, 1)\n if (valueCharAtIndex !== char) {\n isMatch = false\n break\n }\n }\n } else {\n isMatch = false\n }\n\n if (isMatch) {\n // console.log('match!!!', chars)\n mentionMatch = chars\n break\n }\n }\n\n if (mentionMatch) {\n setMention({\n type: mentionMatch,\n retain: retain,\n })\n } else {\n setMention(null)\n setMentionSelectedIndex(0)\n }\n } else {\n // get full string between mention and new delta\n // This is where SEARCH is handled\n if (mention) {\n const retain = delta.ops[0].retain\n // if space is pressed, remove mention\n if (currentCharacter === ' ' || !retain) {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n let distanceMentionToRetain = retain - mention.retain\n if (!isDelete) distanceMentionToRetain++\n const mentionFull = editor.getText(mention.retain, distanceMentionToRetain)\n const mentionSearch = mentionFull.replace(mention.type.slice(-1), '')\n // check for space in mentionFull\n if (mentionFull.includes(' ')) {\n setMention(null)\n setMentionSelectedIndex(0)\n } else {\n setMention({\n ...mention,\n search: mentionSearch?.toLowerCase(),\n })\n }\n } else {\n // just deleting any text\n const quill = editorRef.current.getEditor()\n const currentSelection = quill.getSelection(false)\n const currentFormat = quill.getFormat(currentSelection?.index, currentSelection?.length)\n if (currentFormat.mention) {\n // if format is mention, delete the whole mention\n const [lineBlock] = quill.getLine(currentSelection.index - 1) || []\n const ops = lineBlock?.cache?.delta?.ops || []\n // get last op with attributes mention: true\n const lastMentionOp = ops.reverse().find((op: any) => op.attributes?.mention)\n if (lastMentionOp) {\n const mentionLength = lastMentionOp.insert.length\n quill.deleteText(currentSelection.index - mentionLength, mentionLength)\n }\n }\n }\n }\n }\n\n const addTextToEditor = (type: string) => {\n // get editor retain\n const quill = editorRef.current.getEditor()\n\n let retain = quill.getSelection(true)?.index || 0\n\n // get character at retain\n const currentCharacter = quill.getText(retain - 1, 1)\n\n // if the current character is a character, increment retain\n const addSpace = currentCharacter !== ' ' && currentCharacter\n if (addSpace) {\n quill.insertText(retain, ' ')\n retain++\n }\n\n // This is hack AF, but it works\n typeWithDelay(quill, retain, type)\n }\n\n const handleMentionButton = (type: string) => {\n // first check if mention is already open\n if (mention) {\n const { type, retain, search = '' } = mention\n\n const quill = editorRef.current.getEditor()\n const length = type.length + search.length\n const start = retain - type.length + 1\n // delete the mention\n quill.deleteText(start, length)\n }\n\n addTextToEditor(type)\n }\n\n const handleOpenClick = () => {\n if (isOpen || disabled) return\n\n onOpen && onOpen()\n }\n\n const handleClose = () => {\n // get editor value\n const editor = editorRef.current.getEditor()\n const text = editor.getText()\n if (text.length < 2 || isEditing) {\n setEditorValue('')\n }\n\n // always close editor\n onClose && onClose()\n }\n\n const handleFileUploaded = ({ file, data }: any) => {\n const newFile = {\n id: data.id,\n name: file.name,\n mime: file.type,\n size: file.size,\n order: files.length,\n }\n\n setFiles((prev) => [...prev, newFile])\n // remove from uploading\n setFilesUploading((prev) => prev.filter((uploading: any) => uploading.name !== file.name))\n\n return newFile\n }\n\n const handleFileRemove = (id: string, name: string, isUnsavedAnnotation: boolean) => {\n if (isUnsavedAnnotation) {\n // remove from annotations (if it's an unsaved annotation)\n removeAnnotation?.(id)\n } else {\n // remove file from files\n setFiles((prev) => prev.filter((file) => file.id !== id))\n // remove from uploading\n setFilesUploading((prev) => {\n return prev.filter((file: any) => file.name !== name)\n })\n }\n }\n\n const handleFileProgress = (e: any, file: any) => {\n const progress = Math.round((e.loaded * 100) / e.total)\n if (progress !== 100) {\n const uploadProgress = {\n name: file.name,\n progress,\n type: file.type,\n order: files.length + filesUploading.length,\n }\n\n // @ts-ignore\n setFilesUploading((prev) => {\n // replace or add new progress\n const newProgress = prev.filter((name: any) => name.name !== file.name)\n return [...newProgress, uploadProgress]\n })\n }\n }\n\n // when a file is not dropped onto the comment input\n const handleDrop = (e: React.DragEvent<HTMLDivElement>) => {\n setIsDropping(false)\n // upload file\n handleFileDrop(e, projectName, handleFileProgress, handleFileUploaded)\n }\n\n const handleDragOver = (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDropping(true)\n }\n\n const uploadAnnotations = useAnnotationsUpload({\n projectName,\n onSuccess: handleFileUploaded,\n })\n\n const handleSubmit = async () => {\n try {\n setIsSubmitting(true)\n // upload any annotations first\n let annotationFiles = []\n let annotationMetadata: SavedAnnotationMetadata[] = []\n\n if (annotations.length) {\n const { files, metadata } = await uploadAnnotations(annotations)\n annotationFiles = files\n annotationMetadata = metadata\n }\n\n // convert to markdown\n const [markdown] = convertToMarkdown(editorValue)\n\n // remove img query params\n const markdownParsed = parseImages(markdown)\n\n const uploadedFiles = [...files, ...annotationFiles]\n\n if ((markdownParsed || uploadedFiles.length) && onSubmit) {\n try {\n await onSubmit(markdownParsed, uploadedFiles, {\n annotations: annotationMetadata,\n category: isGuest ? null : category, // guests cannot set category (it is done by default on backend)\n })\n // only clear if onSubmit is successful\n setEditorValue('')\n setFiles([])\n } catch (error) {\n // error is handled in rtk query mutation\n return\n }\n }\n } catch (error) {\n console.error(error)\n toast.error('Something went wrong')\n } finally {\n setIsSubmitting(false)\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (mention) {\n // close mention on escape\n if (e.key === 'Escape') {\n setMention(null)\n setMentionSelectedIndex(0)\n return\n }\n\n // add top search of mention\n if (mention && e.key === 'Tab') {\n // we handle this in the onChange\n }\n\n const arrowDirection = e.key === 'ArrowUp' ? -1 : e.key === 'ArrowDown' ? 1 : 0\n\n if (arrowDirection) {\n // navigate through mentions\n e.preventDefault()\n let newIndex = mentionSelectedIndex + arrowDirection\n if (newIndex < 0) newIndex = shownMentionOptions.length - 1\n if (newIndex >= shownMentionOptions.length) newIndex = 0\n setMentionSelectedIndex(newIndex)\n }\n\n if (e.key === 'Enter') {\n // we handle this in the onChange\n }\n }\n\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {\n handleSubmit()\n }\n\n if (e.key === 'Escape') {\n handleClose()\n }\n }\n\n let quillMinHeight: number | undefined = isOpen ? initHeight + 41 : 44\n if (isEditing) quillMinHeight = undefined\n\n // QUILL CONFIG\n const modules = useMemo(\n () =>\n getModules({\n imageUploader: {\n projectName,\n onUpload: handleFileUploaded,\n onUploadProgress: handleFileProgress,\n },\n }),\n [projectName, setFiles, setFilesUploading],\n )\n\n const allFiles = [...annotations, ...(files || []), ...filesUploading].sort(\n (a, b) => a.order - b.order,\n )\n const compactGrid = allFiles.length > 3\n\n // disable version mentions for folders\n let mentionsError = null\n if (entities.length && entities[0].entityType === 'folder') {\n if (mention?.type === '@@') {\n mentionsError = 'Version mentions are disabled for folders'\n }\n }\n\n const getCommentPlaceholder = (isOpen?: boolean) => {\n if (disabled) {\n if (isGuest) return 'You do not have permission to comment.'\n return 'Commenting is disabled across multiple projects.'\n }\n\n if (isGuest || !isOpen) return 'Leave a comment'\n\n return 'Comment or mention with @user, @@version, @@@task...'\n }\n\n return (\n <>\n <Styled.AutoHeight\n className={clsx('comment-container', { isOpen, isEditing })}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDropping(false)}\n onDrop={handleDrop}\n onClick={() => setIsDropping(false)}\n onKeyDown={(e) => e.stopPropagation()}\n >\n <Styled.Comment\n className={clsx('block-shortcuts', {\n isOpen,\n isClosed: !isOpen || disabled,\n isEditing,\n isDropping,\n disabled,\n isLoading,\n isSubmitting,\n category: !!category && !isGuest,\n })}\n onKeyDown={handleKeyDown}\n onClick={handleOpenClick}\n $categoryPrimary={categoryData?.color}\n $categoryTertiary={blendedCategoryColor.primary}\n $categorySecondary={blendedCategoryColor.secondary}\n >\n <Styled.Markdown ref={markdownRef}>\n {/* this is purely used to translate the markdown into html for Editor */}\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={initValue} />\n </Styled.Markdown>\n\n {/* file uploads */}\n {isOpen && (\n <FilesGrid\n files={allFiles}\n isCompact={compactGrid || isEditing}\n onRemove={handleFileRemove}\n projectName={projectName}\n onAnnotationClick={goToAnnotation}\n style={{\n borderBottom: '1px solid var(--md-sys-color-outline-variant)',\n height: '100%',\n }}\n isEditing\n pt={{\n file: {\n style: {\n height: isEditing ? 70 : undefined,\n },\n },\n }}\n />\n )}\n {isOpen && !disabled ? (\n <QuillListStyles ref={editorContainerRef}>\n {!isGuest && (\n <ActivityCategorySelect\n value={category}\n categories={categoryOptions}\n onChange={(c) => setCategory(c)}\n isCompact={isEditing}\n hasPowerpack={hasLicense}\n onPowerFeature={onPowerFeature}\n isHidden={isCategoryHidden(categoryOptions, { isGuest, isUser })}\n style={{\n position: isEditing ? 'relative' : 'absolute',\n left: 4,\n top: isEditing ? 0 : 4,\n }}\n />\n )}\n\n <ReactQuill\n theme=\"snow\"\n style={{ minHeight: quillMinHeight, maxHeight: 300 }}\n ref={editorRef}\n value={editorValue}\n onChange={handleChange}\n readOnly={!isOpen}\n placeholder={getCommentPlaceholder(true)}\n modules={modules}\n formats={quillFormats}\n />\n </QuillListStyles>\n ) : (\n <Styled.Placeholder>{getCommentPlaceholder()}</Styled.Placeholder>\n )}\n\n <Styled.Footer>\n {!isGuest && (\n <Styled.Buttons>\n {/* mention a user */}\n <Button\n icon=\"person\"\n variant=\"text\"\n onClick={() => handleMentionButton('@')}\n data-tooltip={'Mention user'}\n data-shortcut={'@'}\n />\n {/* mention a version */}\n <Button\n icon=\"layers\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@')}\n data-tooltip={'Mention version'}\n data-shortcut={'@@'}\n />\n {/* mention a task */}\n <Button\n icon=\"check_circle\"\n variant=\"text\"\n onClick={() => handleMentionButton('@@@')}\n data-tooltip={'Mention task'}\n data-shortcut={'@@@'}\n />\n </Styled.Buttons>\n )}\n <Styled.Buttons style={{ marginLeft: 'auto' }}>\n {isEditing && (\n <Button variant=\"text\" onClick={handleClose}>\n Cancel\n </Button>\n )}\n <SaveButton\n label={isEditing ? 'Save' : 'Comment'}\n className=\"comment\"\n active={!!editorValue || !!files.length}\n onClick={handleSubmit}\n disabled={isLoading}\n />\n </Styled.Buttons>\n </Styled.Footer>\n\n <Styled.Dropzone className={clsx({ show: isDropping && isOpen })}>\n <Icon icon=\"cloud_upload\" />\n </Styled.Dropzone>\n </Styled.Comment>\n <CommentMentionSelect\n mention={mention}\n options={shownMentionOptions}\n onChange={handleSelectChange}\n types={mentionTypes}\n // @ts-ignore\n config={mentionTypeOptions[mention?.type]}\n noneFound={!shownMentionOptions.length && mention?.search}\n noneFoundAtAll={!shownMentionOptions.length && !mention?.search}\n selectedIndex={mentionSelectedIndex}\n // @ts-ignore\n error={mentionsError}\n isGuest={isGuest}\n />\n </Styled.AutoHeight>\n </>\n )\n}\n\nexport default CommentInput\n"],"names":["Delta","Quill","mentionTypes","mentionTypeOptions","CommentInput","initValue","initFiles","initCategory","onSubmit","isEditing","disabled","isLoading","isOpen","onOpen","onClose","projectName","entities","projectInfo","scope","currentTab","mentionSuggestionsData","categories","isGuest","useFeedContext","hasLicense","onPowerFeature","user","useDetailsPanelContext","isUser","_a","_b","project","useProjectContext","mentionUsers","mentionVersions","mentionTasks","initHeight","setInitHeight","useState","editorValue","setEditorValue","files","setFiles","filesUploading","setFilesUploading","isDropping","setIsDropping","isSubmitting","setIsSubmitting","annotations","removeAnnotation","goToAnnotation","useAnnotationsSync","_c","mention","setMention","mentionSelectedIndex","setMentionSelectedIndex","category","setCategory","categoryOptions","cat","categoryData","blendedCategoryColor","useBlendedCategoryColor","editorRef","useRef","editorContainerRef","markdownRef","useInitialValue","useSetCursorEnd","useMentionLink","useEffect","a","b","mentionOptions","useMemo","getMentionOptions","getMentionUsers","getMentionVersions","getMentionTasks","shownMentionOptions","newSelection","setNewSelection","handleSelectMention","selectedOption","quill","typePrefix","search","mentionLabel","type","href","selection","startIndex","endIndex","handleSelectChange","option","handleChange","content","delta","_","editor","currentCharacter","tabOrEnter","isDelete","mentionIndex","op","retain","mentionMatch","chars","isMatch","i","char","indexInDelta","distanceMentionToRetain","mentionFull","mentionSearch","currentSelection","lineBlock","lastMentionOp","mentionLength","addTextToEditor","typeWithDelay","handleMentionButton","length","start","handleOpenClick","handleClose","handleFileUploaded","file","data","newFile","prev","uploading","handleFileRemove","id","name","isUnsavedAnnotation","handleFileProgress","e","progress","uploadProgress","handleDrop","handleFileDrop","handleDragOver","uploadAnnotations","useAnnotationsUpload","handleSubmit","annotationFiles","annotationMetadata","metadata","markdown","convertToMarkdown","markdownParsed","parseImages","uploadedFiles","error","toast","handleKeyDown","arrowDirection","newIndex","quillMinHeight","modules","getModules","allFiles","compactGrid","mentionsError","getCommentPlaceholder","jsx","Fragment","jsxs","Styled.AutoHeight","clsx","Styled.Comment","Styled.Markdown","InputMarkdownConvert","FilesGrid","QuillListStyles","ActivityCategorySelect","c","isCategoryHidden","ReactQuill","quillFormats","Styled.Placeholder","Styled.Footer","Styled.Buttons","Button","SaveButton","Styled.Dropzone","Icon","CommentMentionSelect"],"mappings":"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"}
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("react"),u=require("../../../context/FeedContext.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");const f=require("../../../../../context/DetailsPanelContext.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/PowerpackContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");require("../../../../../context/GlobalContext.cjs.js");require("../../../../../context/ProjectContext.cjs.js");const a=(t,n,r)=>(n||console.warn("filterEntityAnnotations: entityId is empty"),Object.values(t).forEach(e=>{e.versionId||console.warn("filterEntityAnnotations: annotation.versionId is empty",e)}),Object.values(t).filter(e=>e.versionId===n&&!r.some(i=>i.name===e.name)).map(e=>({...e,unsavedAnnotation:e}))),A=({entityId:t,filesUploading:n})=>{const{editingId:r,setEditingId:e,annotations:i,removeAnnotation:l}=u.useFeedContext(),{onGoToFrame:o}=f.useDetailsPanelContext(),s=a(i||[],t,n);return q.useEffect(()=>{s.length>0&&!r&&e(u.FEED_NEW_COMMENT)},[s]),{annotations:s,goToAnnotation:c=>{const d=c.range[0];o==null||o(d)},removeAnnotation:l}};exports.default=A;exports.filterEntityAnnotations=a;
|
|
2
2
|
//# sourceMappingURL=useAnnotationsSync.cjs.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsSync.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n if (!entityId) {\n console.warn('filterEntityAnnotations: entityId is empty')\n }\n // Check if any annotation has empty versionId\n Object.values(annotations).forEach((annotation) => {\n if (!annotation.versionId) {\n console.warn('filterEntityAnnotations: annotation.versionId is empty', annotation)\n }\n })\n\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["filterEntityAnnotations","annotations","entityId","filesUploading","annotation","file","annotationFile","useAnnotationsSync","editingId","setEditingId","removeAnnotation","useFeedContext","onGoToFrame","useDetailsPanelContext","filteredAnnotations","useEffect","FEED_NEW_COMMENT","firstFrame"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAnnotationsSync.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n if (!entityId) {\n console.warn('filterEntityAnnotations: entityId is empty')\n }\n // Check if any annotation has empty versionId\n Object.values(annotations).forEach((annotation) => {\n if (!annotation.versionId) {\n console.warn('filterEntityAnnotations: annotation.versionId is empty', annotation)\n }\n })\n\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["filterEntityAnnotations","annotations","entityId","filesUploading","annotation","file","annotationFile","useAnnotationsSync","editingId","setEditingId","removeAnnotation","useFeedContext","onGoToFrame","useDetailsPanelContext","filteredAnnotations","useEffect","FEED_NEW_COMMENT","firstFrame"],"mappings":"qgCAcO,MAAMA,EAA0B,CACrCC,EACAC,EACAC,KAEKD,GACH,QAAQ,KAAK,4CAA4C,EAG3D,OAAO,OAAOD,CAAW,EAAE,QAASG,GAAe,CAC5CA,EAAW,WACN,QAAA,KAAK,yDAA0DA,CAAU,CACnF,CACD,EAEM,OAAO,OAAOH,CAAW,EAC7B,OACEG,GACCA,EAAW,YAAcF,GACzB,CAACC,EAAe,KAAME,GAASA,EAAK,OAASD,EAAW,IAAI,CAAA,EAE/D,IAAKE,IAAoB,CACxB,GAAGA,EACH,kBAAmBA,CAAA,EACnB,GAGAC,EAAqB,CAAC,CAAE,SAAAL,EAAU,eAAAC,KAA4B,CAClE,KAAM,CAAE,UAAAK,EAAW,aAAAC,EAAc,YAAAR,EAAa,iBAAAS,CAAA,EAAqBC,EAAAA,eAAe,EAC5E,CAAE,YAAAC,CAAY,EAAIC,yBAAuB,EAGzCC,EAAsBd,EAAwBC,GAAe,CAAA,EAAIC,EAAUC,CAAc,EAG/FY,OAAAA,EAAAA,UAAU,IAAM,CAEVD,EAAoB,OAAS,GAAK,CAACN,GACrCC,EAAaO,EAAAA,gBAAgB,CAC/B,EACC,CAACF,CAAmB,CAAC,EAOjB,CACL,YAAaA,EACb,eAP4BV,GAAkC,CACxD,MAAAa,EAAab,EAAW,MAAM,CAAC,EACrCQ,GAAA,MAAAA,EAAcK,EAChB,EAKE,iBAAAP,CACF,CACF"}
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js
CHANGED
|
@@ -13,6 +13,8 @@ import "../../../../../context/PowerpackContext.es.js";
|
|
|
13
13
|
import "../../../../../context/MoveEntityContext.es.js";
|
|
14
14
|
import "../../../../../context/MenuContext.es.js";
|
|
15
15
|
import "../../../../../context/WebsocketContext.es.js";
|
|
16
|
+
import "../../../../../context/GlobalContext.es.js";
|
|
17
|
+
import "../../../../../context/ProjectContext.es.js";
|
|
16
18
|
const u = (o, n, i) => (n || console.warn("filterEntityAnnotations: entityId is empty"), Object.values(o).forEach((t) => {
|
|
17
19
|
t.versionId || console.warn("filterEntityAnnotations: annotation.versionId is empty", t);
|
|
18
20
|
}), Object.values(o).filter(
|
|
@@ -20,7 +22,7 @@ const u = (o, n, i) => (n || console.warn("filterEntityAnnotations: entityId is
|
|
|
20
22
|
).map((t) => ({
|
|
21
23
|
...t,
|
|
22
24
|
unsavedAnnotation: t
|
|
23
|
-
}))),
|
|
25
|
+
}))), F = ({ entityId: o, filesUploading: n }) => {
|
|
24
26
|
const { editingId: i, setEditingId: t, annotations: e, removeAnnotation: m } = c(), { onGoToFrame: r } = d(), s = u(e || [], o, n);
|
|
25
27
|
return f(() => {
|
|
26
28
|
s.length > 0 && !i && t(l);
|
|
@@ -34,7 +36,7 @@ const u = (o, n, i) => (n || console.warn("filterEntityAnnotations: entityId is
|
|
|
34
36
|
};
|
|
35
37
|
};
|
|
36
38
|
export {
|
|
37
|
-
|
|
39
|
+
F as default,
|
|
38
40
|
u as filterEntityAnnotations
|
|
39
41
|
};
|
|
40
42
|
//# sourceMappingURL=useAnnotationsSync.es.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAnnotationsSync.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n if (!entityId) {\n console.warn('filterEntityAnnotations: entityId is empty')\n }\n // Check if any annotation has empty versionId\n Object.values(annotations).forEach((annotation) => {\n if (!annotation.versionId) {\n console.warn('filterEntityAnnotations: annotation.versionId is empty', annotation)\n }\n })\n\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["filterEntityAnnotations","annotations","entityId","filesUploading","annotation","file","annotationFile","useAnnotationsSync","editingId","setEditingId","removeAnnotation","useFeedContext","onGoToFrame","useDetailsPanelContext","filteredAnnotations","useEffect","FEED_NEW_COMMENT","firstFrame"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAnnotationsSync.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { FEED_NEW_COMMENT, useFeedContext } from '../../../context/FeedContext'\nimport { useDetailsPanelContext } from '@shared/context'\n\ntype Props = {\n entityId: string\n filesUploading: File[]\n}\n\nexport type AnnotationPreview = any & {\n unsavedAnnotation: any\n}\n\n// annotations are temporary store\nexport const filterEntityAnnotations = (\n annotations: Record<string, any>,\n entityId: string,\n filesUploading: File[],\n): AnnotationPreview[] => {\n if (!entityId) {\n console.warn('filterEntityAnnotations: entityId is empty')\n }\n // Check if any annotation has empty versionId\n Object.values(annotations).forEach((annotation) => {\n if (!annotation.versionId) {\n console.warn('filterEntityAnnotations: annotation.versionId is empty', annotation)\n }\n })\n\n return Object.values(annotations)\n .filter(\n (annotation) =>\n annotation.versionId === entityId &&\n !filesUploading.some((file) => file.name === annotation.name),\n )\n .map((annotationFile) => ({\n ...annotationFile,\n unsavedAnnotation: annotationFile,\n })) as AnnotationPreview[]\n}\n\nconst useAnnotationsSync = ({ entityId, filesUploading }: Props) => {\n const { editingId, setEditingId, annotations, removeAnnotation } = useFeedContext()\n const { onGoToFrame } = useDetailsPanelContext()\n\n // filter out annotations that are for this entity and are NOT uploading\n const filteredAnnotations = filterEntityAnnotations(annotations || [], entityId, filesUploading)\n\n // when annotations change, update the state\n useEffect(() => {\n // open the comment input if there are annotations and something is not being edited already\n if (filteredAnnotations.length > 0 && !editingId) {\n setEditingId(FEED_NEW_COMMENT)\n }\n }, [filteredAnnotations])\n\n const handleGoToAnnotation = (annotation: AnnotationPreview) => {\n const firstFrame = annotation.range[0]\n onGoToFrame?.(firstFrame)\n }\n\n return {\n annotations: filteredAnnotations,\n goToAnnotation: handleGoToAnnotation,\n removeAnnotation,\n }\n}\n\nexport default useAnnotationsSync\n"],"names":["filterEntityAnnotations","annotations","entityId","filesUploading","annotation","file","annotationFile","useAnnotationsSync","editingId","setEditingId","removeAnnotation","useFeedContext","onGoToFrame","useDetailsPanelContext","filteredAnnotations","useEffect","FEED_NEW_COMMENT","firstFrame"],"mappings":";;;;;;;;;;;;;;;;;AAcO,MAAMA,IAA0B,CACrCC,GACAC,GACAC,OAEKD,KACH,QAAQ,KAAK,4CAA4C,GAG3D,OAAO,OAAOD,CAAW,EAAE,QAAQ,CAACG,MAAe;AAC7C,EAACA,EAAW,aACN,QAAA,KAAK,0DAA0DA,CAAU;AACnF,CACD,GAEM,OAAO,OAAOH,CAAW,EAC7B;AAAA,EACC,CAACG,MACCA,EAAW,cAAcF,KACzB,CAACC,EAAe,KAAK,CAACE,MAASA,EAAK,SAASD,EAAW,IAAI;AAAA,EAE/D,IAAI,CAACE,OAAoB;AAAA,EACxB,GAAGA;AAAA,EACH,mBAAmBA;AAAA,EACnB,IAGAC,IAAqB,CAAC,EAAE,UAAAL,GAAU,gBAAAC,QAA4B;AAClE,QAAM,EAAE,WAAAK,GAAW,cAAAC,GAAc,aAAAR,GAAa,kBAAAS,EAAA,IAAqBC,EAAe,GAC5E,EAAE,aAAAC,EAAY,IAAIC,EAAuB,GAGzCC,IAAsBd,EAAwBC,KAAe,CAAA,GAAIC,GAAUC,CAAc;AAG/F,SAAAY,EAAU,MAAM;AAEd,IAAID,EAAoB,SAAS,KAAK,CAACN,KACrCC,EAAaO,CAAgB;AAAA,EAC/B,GACC,CAACF,CAAmB,CAAC,GAOjB;AAAA,IACL,aAAaA;AAAA,IACb,gBAP2B,CAACV,MAAkC;AACxD,YAAAa,IAAab,EAAW,MAAM,CAAC;AACrC,MAAAQ,KAAA,QAAAA,EAAcK;AAAA,IAChB;AAAA,IAKE,kBAAAP;AAAA,EACF;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var x=Object.defineProperty;var T=(i,e,s)=>e in i?x(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s;var l=(i,e,s)=>T(i,typeof e!="symbol"?e+"":e,s);const p=require("react-quill-ayon"),N=require("../../../hooks/useReferenceTooltip.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");const A=require("../../../../../context/DetailsPanelContext.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/PowerpackContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");const E=p.Quill.import("blots/inline"),I=({projectName:i})=>{const{openSlideOut:e}=A.useDetailsPanelContext(),[,s]=N(),n=class n extends E{static create(t){if(!t||typeof t!="string")return document.createElement(n.tagName);const r=super.create(t),a=t.split(":").shift(),o=t.split(":").pop();return r.classList.add("mention"),r.classList.add(a),r.setAttribute("id",`ref-${o}`),r.setAttribute("contenteditable","false"),r.setAttribute("data-value",t),r.addEventListener("click",c=>{c.preventDefault(),a!=="user"&&e({entityId:o,entityType:a,projectName:i})}),r.addEventListener("mouseenter",c=>{const d=c.target||{},f=d.innerText.replace("@",""),{x:m,y:g,width:b}=d.getBoundingClientRect(),y={left:m+b/2,top:g};s({id:o,name:o,type:a,label:f,pos:y})}),r||""}static value(t){return t.getAttribute("data-value")}};l(n,"blotName","mention"),l(n,"tagName","MENTION");let u=n;u.sanitize=q=>q,p.Quill.register(u,!0)};module.exports=I;
|
|
1
|
+
"use strict";var x=Object.defineProperty;var T=(i,e,s)=>e in i?x(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s;var l=(i,e,s)=>T(i,typeof e!="symbol"?e+"":e,s);const p=require("react-quill-ayon"),N=require("../../../hooks/useReferenceTooltip.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");const A=require("../../../../../context/DetailsPanelContext.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/PowerpackContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");require("../../../../../context/GlobalContext.cjs.js");require("../../../../../context/ProjectContext.cjs.js");const E=p.Quill.import("blots/inline"),I=({projectName:i})=>{const{openSlideOut:e}=A.useDetailsPanelContext(),[,s]=N(),n=class n extends E{static create(t){if(!t||typeof t!="string")return document.createElement(n.tagName);const r=super.create(t),a=t.split(":").shift(),o=t.split(":").pop();return r.classList.add("mention"),r.classList.add(a),r.setAttribute("id",`ref-${o}`),r.setAttribute("contenteditable","false"),r.setAttribute("data-value",t),r.addEventListener("click",c=>{c.preventDefault(),a!=="user"&&e({entityId:o,entityType:a,projectName:i})}),r.addEventListener("mouseenter",c=>{const d=c.target||{},f=d.innerText.replace("@",""),{x:m,y:g,width:b}=d.getBoundingClientRect(),y={left:m+b/2,top:g};s({id:o,name:o,type:a,label:f,pos:y})}),r||""}static value(t){return t.getAttribute("data-value")}};l(n,"blotName","mention"),l(n,"tagName","MENTION");let u=n;u.sanitize=q=>q,p.Quill.register(u,!0)};module.exports=I;
|
|
2
2
|
//# sourceMappingURL=useMentionLink.cjs.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMentionLink.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":["Inline","Quill","useMentionLink","projectName","openSlideOut","useDetailsPanelContext","setRefTooltip","useReferenceTooltip","_MentionLink","value","node","valueMentionType","valueMentionId","e","target","label","x","y","width","pos","__publicField","MentionLink","url"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMentionLink.cjs.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":["Inline","Quill","useMentionLink","projectName","openSlideOut","useDetailsPanelContext","setRefTooltip","useReferenceTooltip","_MentionLink","value","node","valueMentionType","valueMentionId","e","target","label","x","y","width","pos","__publicField","MentionLink","url"],"mappings":"2lCAKA,MAAMA,EAASC,EAAAA,MAAM,OAAO,cAAc,EAOpCC,EAAiB,CAAC,CAAE,YAAAC,KAAsC,CACxD,KAAA,CAAE,aAAAC,CAAa,EAAIC,yBAAuB,EAC1C,CAAG,CAAAC,CAAa,EAAIC,EAAoB,EAIxCC,EAAN,MAAMA,UAAoBR,CAAO,CAI/B,OAAO,OAAOS,EAAO,CACf,GAAA,CAACA,GAAS,OAAOA,GAAU,SAAiB,OAAA,SAAS,cAAcD,EAAY,OAAO,EAEpF,MAAAE,EAAO,MAAM,OAAOD,CAAK,EAEzBE,EAAmBF,EAAM,MAAM,GAAG,EAAE,MAAM,EAC1CG,EAAiBH,EAAM,MAAM,GAAG,EAAE,IAAI,EAEvC,OAAAC,EAAA,UAAU,IAAI,SAAS,EACvBA,EAAA,UAAU,IAAIC,CAAgB,EAEnCD,EAAK,aAAa,KAAM,OAAOE,CAAc,EAAE,EAE1CF,EAAA,aAAa,kBAAmB,OAAO,EAGvCA,EAAA,aAAa,aAAcD,CAAK,EAGhCC,EAAA,iBAAiB,QAAUG,GAAqC,CACnEA,EAAE,eAAe,EACbF,IAAqB,QAEZP,EAAA,CACX,SAAUQ,EACV,WAAYD,EACZ,YAAAR,CAAA,CACD,CAAA,CACF,EAGIO,EAAA,iBAAiB,aAAeG,GAAwC,CACrE,MAAAC,EAASD,EAAE,QAAU,CAAC,EACtBE,EAASD,EAAuB,UAAU,QAAQ,IAAK,EAAE,EAEzD,CAAE,EAAAE,EAAG,EAAAC,EAAG,MAAAC,CAAM,EAAKJ,EAAuB,sBAAsB,EAChEK,EAAM,CAAE,KAAMH,EAAIE,EAAQ,EAAG,IAAKD,CAAE,EAE5BX,EAAA,CACZ,GAAIM,EACJ,KAAMA,EACN,KAAMD,EACN,MAAAI,EACA,IAAAI,CAAA,CACD,CAAA,CACF,EAEMT,GAAQ,EAAA,CAIjB,OAAO,MAAMA,EAAW,CACf,OAAAA,EAAK,aAAa,YAAY,CAAA,CACvC,EAxDAU,EADIZ,EACG,WAAW,WAClBY,EAFIZ,EAEG,UAAU,WAFnB,IAAMa,EAANb,EA6DYa,EAAA,SAAYC,GAAQA,EAE1BrB,QAAA,SAASoB,EAAa,EAAI,CAClC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var x = Object.defineProperty;
|
|
2
2
|
var N = (r, t, o) => t in r ? x(r, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : r[t] = o;
|
|
3
|
-
var
|
|
3
|
+
var c = (r, t, o) => N(r, typeof t != "symbol" ? t + "" : t, o);
|
|
4
4
|
import { Quill as d } from "react-quill-ayon";
|
|
5
5
|
import A from "../../../hooks/useReferenceTooltip.es.js";
|
|
6
6
|
import "../../../../../context/RemoteModulesContext.es.js";
|
|
@@ -16,20 +16,22 @@ import "../../../../../context/PowerpackContext.es.js";
|
|
|
16
16
|
import "../../../../../context/MoveEntityContext.es.js";
|
|
17
17
|
import "../../../../../context/MenuContext.es.js";
|
|
18
18
|
import "../../../../../context/WebsocketContext.es.js";
|
|
19
|
-
|
|
19
|
+
import "../../../../../context/GlobalContext.es.js";
|
|
20
|
+
import "../../../../../context/ProjectContext.es.js";
|
|
21
|
+
const I = d.import("blots/inline"), G = ({ projectName: r }) => {
|
|
20
22
|
const { openSlideOut: t } = E(), [, o] = A(), n = class n extends I {
|
|
21
23
|
// @ts-ignore
|
|
22
24
|
static create(e) {
|
|
23
25
|
if (!e || typeof e != "string") return document.createElement(n.tagName);
|
|
24
26
|
const i = super.create(e), a = e.split(":").shift(), p = e.split(":").pop();
|
|
25
|
-
return i.classList.add("mention"), i.classList.add(a), i.setAttribute("id", `ref-${p}`), i.setAttribute("contenteditable", "false"), i.setAttribute("data-value", e), i.addEventListener("click", (
|
|
26
|
-
|
|
27
|
+
return i.classList.add("mention"), i.classList.add(a), i.setAttribute("id", `ref-${p}`), i.setAttribute("contenteditable", "false"), i.setAttribute("data-value", e), i.addEventListener("click", (m) => {
|
|
28
|
+
m.preventDefault(), a !== "user" && t({
|
|
27
29
|
entityId: p,
|
|
28
30
|
entityType: a,
|
|
29
31
|
projectName: r
|
|
30
32
|
});
|
|
31
|
-
}), i.addEventListener("mouseenter", (
|
|
32
|
-
const l =
|
|
33
|
+
}), i.addEventListener("mouseenter", (m) => {
|
|
34
|
+
const l = m.target || {}, f = l.innerText.replace("@", ""), { x: g, y: b, width: y } = l.getBoundingClientRect(), T = { left: g + y / 2, top: b };
|
|
33
35
|
o({
|
|
34
36
|
id: p,
|
|
35
37
|
name: p,
|
|
@@ -44,11 +46,11 @@ const I = d.import("blots/inline"), q = ({ projectName: r }) => {
|
|
|
44
46
|
return e.getAttribute("data-value");
|
|
45
47
|
}
|
|
46
48
|
};
|
|
47
|
-
|
|
49
|
+
c(n, "blotName", "mention"), c(n, "tagName", "MENTION");
|
|
48
50
|
let s = n;
|
|
49
51
|
s.sanitize = (u) => u, d.register(s, !0);
|
|
50
52
|
};
|
|
51
53
|
export {
|
|
52
|
-
|
|
54
|
+
G as default
|
|
53
55
|
};
|
|
54
56
|
//# sourceMappingURL=useMentionLink.es.js.map
|
package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMentionLink.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":["Inline","Quill","useMentionLink","projectName","openSlideOut","useDetailsPanelContext","setRefTooltip","useReferenceTooltip","_MentionLink","value","node","valueMentionType","valueMentionId","e","target","label","x","y","width","pos","__publicField","MentionLink","url"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMentionLink.es.js","sources":["../../../../../../../../src/containers/Feed/components/CommentInput/hooks/useMentionLink.ts"],"sourcesContent":["import { Quill } from 'react-quill-ayon'\nimport useReferenceTooltip from '../../../hooks/useReferenceTooltip'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { DetailsPanelEntityType } from '@shared/api'\n\nconst Inline = Quill.import('blots/inline')\n\ninterface MentionLinkOptions {\n projectName: string\n}\n\n// custom mention links\nconst useMentionLink = ({ projectName }: MentionLinkOptions) => {\n const { openSlideOut } = useDetailsPanelContext()\n const [, setRefTooltip] = useReferenceTooltip()\n\n // special link for mentions\n // @ts-ignore\n class MentionLink extends Inline {\n static blotName = 'mention'\n static tagName = 'MENTION'\n // @ts-ignore\n static create(value) {\n if (!value || typeof value !== 'string') return document.createElement(MentionLink.tagName)\n\n const node = super.create(value)\n // check if this is a mention url\n const valueMentionType = value.split(':').shift() as string\n const valueMentionId = value.split(':').pop() as string\n\n node.classList.add('mention')\n node.classList.add(valueMentionType)\n // add id=id-ref\n node.setAttribute('id', `ref-${valueMentionId}`)\n // set as not editable\n node.setAttribute('contenteditable', 'false')\n\n // add data-value attribute\n node.setAttribute('data-value', value)\n\n // on mouse click open reference\n node.addEventListener('click', (e: React.MouseEvent<HTMLElement>) => {\n e.preventDefault()\n if (valueMentionType === 'user') return\n\n openSlideOut({\n entityId: valueMentionId,\n entityType: valueMentionType as DetailsPanelEntityType,\n projectName,\n })\n })\n\n // add on mouse enter\n node.addEventListener('mouseenter', (e: React.KeyboardEvent<HTMLElement>) => {\n const target = e.target || {}\n const label = (target as HTMLElement).innerText.replace('@', '')\n // get the center of the reference\n const { x, y, width } = (target as HTMLElement).getBoundingClientRect()\n const pos = { left: x + width / 2, top: y }\n\n setRefTooltip({\n id: valueMentionId,\n name: valueMentionId,\n type: valueMentionType,\n label,\n pos,\n })\n })\n\n return node || ''\n }\n\n // Added value method to retrieve the value from the DOM node\n static value(node: any) {\n return node.getAttribute('data-value')\n }\n }\n\n // @ts-ignore\n MentionLink.sanitize = (url) => url\n // @ts-ignore\n Quill.register(MentionLink, true)\n}\n\nexport default useMentionLink\n"],"names":["Inline","Quill","useMentionLink","projectName","openSlideOut","useDetailsPanelContext","setRefTooltip","useReferenceTooltip","_MentionLink","value","node","valueMentionType","valueMentionId","e","target","label","x","y","width","pos","__publicField","MentionLink","url"],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,IAASC,EAAM,OAAO,cAAc,GAOpCC,IAAiB,CAAC,EAAE,aAAAC,QAAsC;AACxD,QAAA,EAAE,cAAAC,EAAa,IAAIC,EAAuB,GAC1C,CAAG,EAAAC,CAAa,IAAIC,EAAoB,GAIxCC,IAAN,MAAMA,UAAoBR,EAAO;AAAA;AAAA,IAI/B,OAAO,OAAOS,GAAO;AACf,UAAA,CAACA,KAAS,OAAOA,KAAU,SAAiB,QAAA,SAAS,cAAcD,EAAY,OAAO;AAEpF,YAAAE,IAAO,MAAM,OAAOD,CAAK,GAEzBE,IAAmBF,EAAM,MAAM,GAAG,EAAE,MAAM,GAC1CG,IAAiBH,EAAM,MAAM,GAAG,EAAE,IAAI;AAEvC,aAAAC,EAAA,UAAU,IAAI,SAAS,GACvBA,EAAA,UAAU,IAAIC,CAAgB,GAEnCD,EAAK,aAAa,MAAM,OAAOE,CAAc,EAAE,GAE1CF,EAAA,aAAa,mBAAmB,OAAO,GAGvCA,EAAA,aAAa,cAAcD,CAAK,GAGhCC,EAAA,iBAAiB,SAAS,CAACG,MAAqC;AAEnE,QADAA,EAAE,eAAe,GACbF,MAAqB,UAEZP,EAAA;AAAA,UACX,UAAUQ;AAAA,UACV,YAAYD;AAAA,UACZ,aAAAR;AAAA,QAAA,CACD;AAAA,MAAA,CACF,GAGIO,EAAA,iBAAiB,cAAc,CAACG,MAAwC;AACrE,cAAAC,IAASD,EAAE,UAAU,CAAC,GACtBE,IAASD,EAAuB,UAAU,QAAQ,KAAK,EAAE,GAEzD,EAAE,GAAAE,GAAG,GAAAC,GAAG,OAAAC,EAAM,IAAKJ,EAAuB,sBAAsB,GAChEK,IAAM,EAAE,MAAMH,IAAIE,IAAQ,GAAG,KAAKD,EAAE;AAE5B,QAAAX,EAAA;AAAA,UACZ,IAAIM;AAAA,UACJ,MAAMA;AAAA,UACN,MAAMD;AAAA,UACN,OAAAI;AAAA,UACA,KAAAI;AAAA,QAAA,CACD;AAAA,MAAA,CACF,GAEMT,KAAQ;AAAA,IAAA;AAAA;AAAA,IAIjB,OAAO,MAAMA,GAAW;AACf,aAAAA,EAAK,aAAa,YAAY;AAAA,IAAA;AAAA,EACvC;AAxDA,EAAAU,EADIZ,GACG,YAAW,YAClBY,EAFIZ,GAEG,WAAU;AAFnB,MAAMa,IAANb;AA6DY,EAAAa,EAAA,WAAW,CAACC,MAAQA,GAE1BrB,EAAA,SAASoB,GAAa,EAAI;AAClC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e=require("../../../../../../_virtual/jsx-runtime.cjs.js"),a=require("@ynput/ayon-react-components"),t=require("./FileUploadCard.styled.cjs.js"),l=require("clsx"),F=require("react"),I=require("../FileUploadPreview/FileUploadPreview.cjs.js");require("../../../../context/RemoteModulesContext.cjs.js");const P=require("../../../../context/DetailsPanelContext.cjs.js");require("../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../context/SettingsPanelContext.cjs.js");require("../../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../../context/pip/PiPWrapper.cjs.js");require("../../../../context/AddonProjectContext.cjs.js");require("../../../../context/AddonContext.cjs.js");require("../../../../context/PowerpackContext.cjs.js");require("../../../../context/MoveEntityContext.cjs.js");require("../../../../context/MenuContext.cjs.js");require("../../../../context/WebsocketContext.cjs.js");const B={description:["doc"],folder_zip:["zip"],code_blocks:["json","javascript","python","html","css",".py",".js",".html",".css",".json",".ts"],brush:[".psd",".ai",".xd",".sketch"],"3d_rotation":[".mb",".ma",".c4d",".blend",".max",".3ds",".lwo",".lws",".lxo",".hip",".hda"],theaters:[".aep",".tpl",".clip",".nk",".fusion",".prproj",".spsm",".drp"],picture_as_pdf:["pdf",".pdf"],image:["image",".png",".jpg",".jpeg",".gif",".svg",".webp"],videocam:["video",".mp4",".mov",".avi",".mkv",".webm",".mxf"],business_center:["application"],audio_file:["audio"],text_snippet:["text"],filter_none:["sequence"],font_download:["font"],deployed_code:["model",".obj",".abc",".stl",".fbx",".gltf",".glb",".usd"]},U=p=>{for(const[n,r]of Object.entries(B))if(r.some(s=>p.includes(s)))return n;return"draft"},z=({name:p,mime:n,src:r,unsavedAnnotation:s,savedAnnotation:m,size:f,progress:x,onRemove:
|
|
1
|
+
"use strict";const e=require("../../../../../../_virtual/jsx-runtime.cjs.js"),a=require("@ynput/ayon-react-components"),t=require("./FileUploadCard.styled.cjs.js"),l=require("clsx"),F=require("react"),I=require("../FileUploadPreview/FileUploadPreview.cjs.js");require("../../../../context/RemoteModulesContext.cjs.js");const P=require("../../../../context/DetailsPanelContext.cjs.js");require("../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../context/SettingsPanelContext.cjs.js");require("../../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../../context/pip/PiPWrapper.cjs.js");require("../../../../context/AddonProjectContext.cjs.js");require("../../../../context/AddonContext.cjs.js");require("../../../../context/PowerpackContext.cjs.js");require("../../../../context/MoveEntityContext.cjs.js");require("../../../../context/MenuContext.cjs.js");require("../../../../context/WebsocketContext.cjs.js");require("../../../../context/GlobalContext.cjs.js");require("../../../../context/ProjectContext.cjs.js");const B={description:["doc"],folder_zip:["zip"],code_blocks:["json","javascript","python","html","css",".py",".js",".html",".css",".json",".ts"],brush:[".psd",".ai",".xd",".sketch"],"3d_rotation":[".mb",".ma",".c4d",".blend",".max",".3ds",".lwo",".lws",".lxo",".hip",".hda"],theaters:[".aep",".tpl",".clip",".nk",".fusion",".prproj",".spsm",".drp"],picture_as_pdf:["pdf",".pdf"],image:["image",".png",".jpg",".jpeg",".gif",".svg",".webp"],videocam:["video",".mp4",".mov",".avi",".mkv",".webm",".mxf"],business_center:["application"],audio_file:["audio"],text_snippet:["text"],filter_none:["sequence"],font_download:["font"],deployed_code:["model",".obj",".abc",".stl",".fbx",".gltf",".glb",".usd"]},U=p=>{for(const[n,r]of Object.entries(B))if(r.some(s=>p.includes(s)))return n;return"draft"},z=({name:p,mime:n,src:r,unsavedAnnotation:s,savedAnnotation:m,size:f,progress:x,onRemove:u,isCompact:h,isDownloadable:c=!1,onExpand:R,disableExpand:j,onJumpTo:q,className:w,...N})=>{const b=x&&x<100,[_,v]=F.useState(!1),{feedAnnotationsEnabled:y}=P.useDetailsPanelContext(),E=p.split("."),d=E.pop()||"",k=E.join("."),o=I.isFilePreviewable(n||"."+d),C=(n==null?void 0:n.includes("image/"))||!!s,g=e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("span",{className:"size",children:a.getFileSizeString(f)}),e.jsxRuntimeExports.jsx(a.Icon,{icon:"download",className:"download-icon"})]}),i=s??m;return e.jsxRuntimeExports.jsxs(t.File,{className:l(w,{compact:h,isDownloadable:c,isPreviewable:o,isUnsavedAnnotation:!!s}),...N,children:[e.jsxRuntimeExports.jsxs(t.ContentWrapper,{className:l("content-wrapper",{isPreviewable:o,isUnsavedAnnotation:!!s}),children:[e.jsxRuntimeExports.jsx(a.Icon,{icon:U(n||"."+d),className:"type-icon"}),C&&r&&e.jsxRuntimeExports.jsx(t.ImageWrapper,{className:l({"image-wrapper":!0,isDownloadable:c||o||s}),children:e.jsxRuntimeExports.jsx("img",{src:r,onError:()=>v(!0),style:{display:_?"none":"block"}})}),e.jsxRuntimeExports.jsxs(t.Buttons,{className:"expand-buttons",children:[o&&!j&&e.jsxRuntimeExports.jsx(t.ExpandButton,{"data-tooltip":"Open preview",icon:"open_in_full",variant:"nav",onClick:R}),(s||y&&m)&&e.jsxRuntimeExports.jsx(t.ExpandButton,{"data-tooltip":"Jump to annotation",icon:"play_circle",variant:"nav",onClick:q})]})]}),e.jsxRuntimeExports.jsxs(t.Footer,{className:l({inProgress:b,isPreviewable:o&&!j,isDownloadable:c}),children:[e.jsxRuntimeExports.jsx("span",{className:"progress",style:{right:`${100-x}%`}}),e.jsxRuntimeExports.jsx("div",{className:"name-wrapper",children:i?e.jsxRuntimeExports.jsxs("span",{className:"name",children:[e.jsxRuntimeExports.jsx(a.Icon,{icon:"draw"}),i.range[0],i.range[1]!==i.range[0]&&` - ${i.range[1]}`]}):e.jsxRuntimeExports.jsxs("span",{className:"name",children:[k,e.jsxRuntimeExports.jsxs("span",{className:"extension",children:[".",d]})]})}),c&&(u?e.jsxRuntimeExports.jsx("div",{className:"download",children:g}):e.jsxRuntimeExports.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"download",children:g}))]}),u&&e.jsxRuntimeExports.jsx(a.Button,{className:"remove",onClick:u,icon:"close"})]})};module.exports=z;
|
|
2
2
|
//# sourceMappingURL=FileUploadCard.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadCard.cjs.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n disableExpand?: boolean\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n disableExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && !disableExpand && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer\n className={clsx({\n inProgress,\n isPreviewable: isPreviewable && !disableExpand,\n isDownloadable,\n })}\n >\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} target=\"_blank\" rel=\"noopener noreferrer\" className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["fileIcons","getIconForType","type","icon","keywords","keyword","FileUploadCard","name","mime","src","unsavedAnnotation","savedAnnotation","size","progress","onRemove","isCompact","isDownloadable","onExpand","disableExpand","onJumpTo","className","props","inProgress","imageError","setImageError","useState","feedAnnotationsEnabled","useDetailsPanelContext","nameParts","extension","fileName","isPreviewable","isFilePreviewable","isImage","downloadComponent","jsxs","Fragment","jsx","getFileSizeString","Icon","someAnnotation","Styled.File","clsx","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUploadCard.cjs.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n disableExpand?: boolean\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n disableExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && !disableExpand && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer\n className={clsx({\n inProgress,\n isPreviewable: isPreviewable && !disableExpand,\n isDownloadable,\n })}\n >\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} target=\"_blank\" rel=\"noopener noreferrer\" className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["fileIcons","getIconForType","type","icon","keywords","keyword","FileUploadCard","name","mime","src","unsavedAnnotation","savedAnnotation","size","progress","onRemove","isCompact","isDownloadable","onExpand","disableExpand","onJumpTo","className","props","inProgress","imageError","setImageError","useState","feedAnnotationsEnabled","useDetailsPanelContext","nameParts","extension","fileName","isPreviewable","isFilePreviewable","isImage","downloadComponent","jsxs","Fragment","jsx","getFileSizeString","Icon","someAnnotation","Styled.File","clsx","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer","Button"],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ import "../../../../context/PowerpackContext.es.js";
|
|
|
17
17
|
import "../../../../context/MoveEntityContext.es.js";
|
|
18
18
|
import "../../../../context/MenuContext.es.js";
|
|
19
19
|
import "../../../../context/WebsocketContext.es.js";
|
|
20
|
+
import "../../../../context/GlobalContext.es.js";
|
|
21
|
+
import "../../../../context/ProjectContext.es.js";
|
|
20
22
|
const T = {
|
|
21
23
|
// special cases
|
|
22
24
|
description: ["doc"],
|
|
@@ -64,7 +66,7 @@ const T = {
|
|
|
64
66
|
if (n.some((s) => l.includes(s)))
|
|
65
67
|
return o;
|
|
66
68
|
return "draft";
|
|
67
|
-
},
|
|
69
|
+
}, ce = ({
|
|
68
70
|
name: l,
|
|
69
71
|
mime: o,
|
|
70
72
|
src: n,
|
|
@@ -74,7 +76,7 @@ const T = {
|
|
|
74
76
|
progress: c,
|
|
75
77
|
onRemove: p,
|
|
76
78
|
isCompact: w,
|
|
77
|
-
isDownloadable:
|
|
79
|
+
isDownloadable: a = !1,
|
|
78
80
|
onExpand: N,
|
|
79
81
|
disableExpand: f,
|
|
80
82
|
onJumpTo: b,
|
|
@@ -84,13 +86,13 @@ const T = {
|
|
|
84
86
|
const k = c && c < 100, [y, C] = $(!1), { feedAnnotationsEnabled: F } = J(), j = l.split("."), m = j.pop() || "", B = j.join("."), t = q(o || "." + m), I = (o == null ? void 0 : o.includes("image/")) || !!s, g = /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
85
87
|
/* @__PURE__ */ e.jsx("span", { className: "size", children: P(u) }),
|
|
86
88
|
/* @__PURE__ */ e.jsx(d, { icon: "download", className: "download-icon" })
|
|
87
|
-
] }),
|
|
89
|
+
] }), r = s ?? x;
|
|
88
90
|
return /* @__PURE__ */ e.jsxs(
|
|
89
91
|
z,
|
|
90
92
|
{
|
|
91
93
|
className: i(_, {
|
|
92
94
|
compact: w,
|
|
93
|
-
isDownloadable:
|
|
95
|
+
isDownloadable: a,
|
|
94
96
|
isPreviewable: t,
|
|
95
97
|
isUnsavedAnnotation: !!s
|
|
96
98
|
}),
|
|
@@ -110,7 +112,7 @@ const T = {
|
|
|
110
112
|
{
|
|
111
113
|
className: i({
|
|
112
114
|
"image-wrapper": !0,
|
|
113
|
-
isDownloadable:
|
|
115
|
+
isDownloadable: a || t || s
|
|
114
116
|
}),
|
|
115
117
|
children: /* @__PURE__ */ e.jsx(
|
|
116
118
|
"img",
|
|
@@ -153,14 +155,14 @@ const T = {
|
|
|
153
155
|
className: i({
|
|
154
156
|
inProgress: k,
|
|
155
157
|
isPreviewable: t && !f,
|
|
156
|
-
isDownloadable:
|
|
158
|
+
isDownloadable: a
|
|
157
159
|
}),
|
|
158
160
|
children: [
|
|
159
161
|
/* @__PURE__ */ e.jsx("span", { className: "progress", style: { right: `${100 - c}%` } }),
|
|
160
|
-
/* @__PURE__ */ e.jsx("div", { className: "name-wrapper", children:
|
|
162
|
+
/* @__PURE__ */ e.jsx("div", { className: "name-wrapper", children: r ? /* @__PURE__ */ e.jsxs("span", { className: "name", children: [
|
|
161
163
|
/* @__PURE__ */ e.jsx(d, { icon: "draw" }),
|
|
162
|
-
|
|
163
|
-
|
|
164
|
+
r.range[0],
|
|
165
|
+
r.range[1] !== r.range[0] && ` - ${r.range[1]}`
|
|
164
166
|
] }) : /* @__PURE__ */ e.jsxs("span", { className: "name", children: [
|
|
165
167
|
B,
|
|
166
168
|
/* @__PURE__ */ e.jsxs("span", { className: "extension", children: [
|
|
@@ -168,7 +170,7 @@ const T = {
|
|
|
168
170
|
m
|
|
169
171
|
] })
|
|
170
172
|
] }) }),
|
|
171
|
-
|
|
173
|
+
a && (p ? /* @__PURE__ */ e.jsx("div", { className: "download", children: g }) : /* @__PURE__ */ e.jsx("a", { href: n, target: "_blank", rel: "noopener noreferrer", className: "download", children: g }))
|
|
172
174
|
]
|
|
173
175
|
}
|
|
174
176
|
),
|
|
@@ -178,6 +180,6 @@ const T = {
|
|
|
178
180
|
);
|
|
179
181
|
};
|
|
180
182
|
export {
|
|
181
|
-
|
|
183
|
+
ce as default
|
|
182
184
|
};
|
|
183
185
|
//# sourceMappingURL=FileUploadCard.es.js.map
|