@ynput/ayon-frontend-shared 0.2.3 → 0.2.5
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/ContextMenu.cjs.js +1 -0
- package/dist/ContextMenu.cjs.js.map +1 -1
- package/dist/ContextMenu.es.js +1 -0
- package/dist/ContextMenu.es.js.map +1 -1
- package/dist/DetailsPanel.cjs.js +23 -1
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +23 -1
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +12 -1
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +14 -3
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.cjs.js +0 -2
- package/dist/_virtual/_commonjsHelpers.cjs.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.es.js +0 -2
- package/dist/_virtual/_commonjsHelpers.es.js.map +1 -1
- package/dist/_virtual/index.cjs5.js +3 -5
- package/dist/_virtual/index.cjs5.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +5 -3
- package/dist/_virtual/index.cjs6.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -2
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/api.cjs.js +24 -1
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +26 -3
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +12 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +12 -0
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +3 -0
- package/dist/context.cjs.js.map +1 -1
- package/dist/context.es.js +3 -0
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +24 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +24 -2
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +3 -0
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +3 -0
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +130 -0
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +130 -0
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +8 -4
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +9 -5
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +267 -0
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +267 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +51 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +51 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +169 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +169 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js +29 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js +29 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +3 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +3 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +40 -5
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +40 -5
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +7 -3
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +355 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +355 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js +93 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js +93 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js +4 -2
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js.map +1 -1
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js +4 -2
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +3 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +23 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +23 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +194 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +195 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +128 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +128 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +185 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +185 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +67 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +68 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/util/index.cjs.js +19 -0
- package/dist/shared/src/components/EnumEditor/util/index.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/util/index.es.js +19 -0
- package/dist/shared/src/components/EnumEditor/util/index.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +78 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +79 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +352 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +353 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +113 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +52 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +53 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +103 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +103 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +83 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +83 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +23 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +23 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +6 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +6 -1
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +23 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +23 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenu.css +54 -19
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +11 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +11 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +23 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +23 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +25 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +25 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +24 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +24 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +26 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +26 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +5 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +5 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
- 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 +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -0
- 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 +1 -0
- 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 -0
- 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 +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +2 -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 +2 -1
- 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 +5 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +5 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +7 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +198 -222
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +201 -225
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +1 -3
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +1 -3
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +361 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +361 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +41 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +41 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +29 -35
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +31 -37
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +33 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +34 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +17 -11
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +17 -11
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +190 -146
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +190 -146
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +10 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +10 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +15 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +15 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +44 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +15 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +15 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js +27 -31
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js +27 -31
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.cjs.js → useUpdateTableData.cjs.js} +48 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.es.js → useUpdateTableData.es.js} +48 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +39 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +39 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +57 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +58 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +10 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +10 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +17 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +17 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +53 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +53 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +24 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +6 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SettingsPanelContext.cjs.js +63 -0
- package/dist/shared/src/context/SettingsPanelContext.cjs.js.map +1 -0
- package/dist/shared/src/context/SettingsPanelContext.es.js +63 -0
- package/dist/shared/src/context/SettingsPanelContext.es.js.map +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +5 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -2
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -2
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js +3 -3
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js +3 -3
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +48 -0
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -0
- package/dist/shared/src/util/getAttributeIcon.es.js +48 -0
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -0
- package/dist/shared/src/util/platform.cjs.js +7 -6
- package/dist/shared/src/util/platform.cjs.js.map +1 -1
- package/dist/shared/src/util/platform.es.js +7 -6
- package/dist/shared/src/util/platform.es.js.map +1 -1
- package/dist/types/SimpleTable/SimpleTable.d.ts +43 -0
- package/dist/types/SimpleTable/SimpleTable.styled.d.ts +10 -0
- package/dist/types/SimpleTable/SimpleTableRowTemplate.d.ts +13 -0
- package/dist/types/SimpleTable/context/SimpleTableContext.d.ts +23 -0
- package/dist/types/SimpleTable/index.d.ts +5 -0
- package/dist/types/api/generated/graphql.d.ts +255 -39
- package/dist/types/api/queries/activities/getActivities.d.ts +16 -0
- package/dist/types/api/queries/activities/updateActivities.d.ts +32 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +16 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +16 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +16 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +3009 -0
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +148 -0
- package/dist/types/api/queries/entityLists/index.d.ts +5 -0
- package/dist/types/api/queries/entityLists/types.d.ts +71 -0
- package/dist/types/api/queries/entityLists/updateLists.d.ts +1137 -0
- package/dist/types/api/queries/entityLists/updateListsAttributes.d.ts +176 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +17 -1
- package/dist/types/api/queries/overview/updateOverview.d.ts +2 -2
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +16 -0
- package/dist/types/api/queries/users/getUsers.d.ts +16 -0
- package/dist/types/components/AttributeEditor/AttributeEditor.d.ts +18 -0
- package/dist/types/components/AttributeEditor/components/MinMaxField.d.ts +14 -0
- package/dist/types/components/AttributeEditor/components/index.d.ts +1 -0
- package/dist/types/components/AttributeEditor/index.d.ts +1 -0
- package/dist/types/components/EnumEditor/DraggableEnumEditorItem.d.ts +10 -0
- package/dist/types/components/EnumEditor/EnumEditor.d.ts +22 -0
- package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +23 -0
- package/dist/types/components/EnumEditor/hooks/useDraggable.d.ts +17 -0
- package/dist/types/components/EnumEditor/index.d.ts +1 -0
- package/dist/types/components/EnumEditor/util/index.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/ColumnItem.d.ts +14 -0
- package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +18 -0
- package/dist/types/components/ProjectTableSettings/SortableColumnItem.d.ts +13 -0
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +16 -0
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +20 -0
- package/dist/types/components/SettingsPanel/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +20 -7
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +23 -0
- package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +3 -3
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +6 -2
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +41 -34
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableQueriesContext.d.ts +3 -2
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardUtils.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +21 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +7 -7
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +5 -20
- package/dist/types/containers/ProjectTreeTable/hooks/{useUpdateOverview.d.ts → useUpdateTableData.d.ts} +12 -3
- package/dist/types/containers/ProjectTreeTable/index.d.ts +5 -1
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +4 -6
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +51 -12
- package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +2 -3
- package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +14 -2
- package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +5 -0
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +14 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/validateUpdateEntities.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/EnumWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/context/SettingsPanelContext.d.ts +20 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/util/getAttributeIcon.d.ts +4 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/util.cjs.js +2 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +2 -0
- package/dist/util.es.js.map +1 -1
- package/package.json +2 -1
- package/dist/_virtual/lodash.cjs.js +0 -6
- package/dist/_virtual/lodash.cjs.js.map +0 -1
- package/dist/_virtual/lodash.cjs2.js +0 -5
- package/dist/_virtual/lodash.cjs2.js.map +0 -1
- package/dist/_virtual/lodash.es.js +0 -6
- package/dist/_virtual/lodash.es.js.map +0 -1
- package/dist/_virtual/lodash.es2.js +0 -5
- package/dist/_virtual/lodash.es2.js.map +0 -1
- package/dist/shared/node_modules/lodash/lodash.cjs.js +0 -5492
- package/dist/shared/node_modules/lodash/lodash.cjs.js.map +0 -1
- package/dist/shared/node_modules/lodash/lodash.es.js +0 -5492
- package/dist/shared/node_modules/lodash/lodash.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js +0 -269
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js +0 -270
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js +0 -69
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js +0 -70
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js.map +0 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTableColumns.d.ts +0 -16
- package/dist/types/containers/ProjectTreeTable/hooks/useValidateUpdates.d.ts +0 -3
|
@@ -3,14 +3,14 @@ import { useMemo, useState } from "react";
|
|
|
3
3
|
import { TablePanel } from "@ynput/ayon-react-components";
|
|
4
4
|
import { TreeTable } from "../../../node_modules/primereact/treetable/treetable.esm.es.js";
|
|
5
5
|
import { Column } from "../../../node_modules/primereact/column/column.esm.es.js";
|
|
6
|
-
import "
|
|
6
|
+
import "lodash";
|
|
7
7
|
import "react-toastify";
|
|
8
8
|
import { groupResult } from "../../util/groupResult.es.js";
|
|
9
9
|
import "../../util/pubsub.es.js";
|
|
10
10
|
import "../ContextMenu/ContextMenuContext.es.js";
|
|
11
11
|
/* empty css */
|
|
12
|
-
import { useCreateContextMenu } from "../ContextMenu/useCreateContextMenu.es.js";
|
|
13
12
|
import "clsx";
|
|
13
|
+
import { useCreateContextMenu } from "../ContextMenu/useCreateContextMenu.es.js";
|
|
14
14
|
import "../../components/ThumbnailSimple/ThumbnailSimple.es.js";
|
|
15
15
|
import "../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
|
|
16
16
|
import "../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
|
|
@@ -63,6 +63,10 @@ import "../../api/queries/authentication/getAuthentication.es.js";
|
|
|
63
63
|
import "../../api/queries/entities/getEntity.es.js";
|
|
64
64
|
import "../../api/queries/entities/getEntityPanel.es.js";
|
|
65
65
|
import "../../api/queries/entities/updateEntity.es.js";
|
|
66
|
+
import "../../api/queries/entityLists/getLists.es.js";
|
|
67
|
+
import "../../api/queries/entityLists/updateLists.es.js";
|
|
68
|
+
import "../../api/queries/entityLists/getListsAttributes.es.js";
|
|
69
|
+
import "../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
66
70
|
import "../../api/queries/folders/getFolders.es.js";
|
|
67
71
|
import "../../api/queries/overview/getOverview.es.js";
|
|
68
72
|
import "../../api/queries/overview/updateOverview.es.js";
|
|
@@ -83,6 +87,7 @@ import "../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
|
|
|
83
87
|
import "../../context/RemoteModulesContext.es.js";
|
|
84
88
|
import "../../context/DetailsPanelContext.es.js";
|
|
85
89
|
import "../../context/ThumbnailUploaderContext.es.js";
|
|
90
|
+
import "../../context/SettingsPanelContext.es.js";
|
|
86
91
|
import "../../context/pip/PiPProvider.es.js";
|
|
87
92
|
import "react-dom";
|
|
88
93
|
import "../../context/pip/PiPWrapper.es.js";
|
|
@@ -128,6 +133,18 @@ import "../ProjectTreeTable/context/ColumnSettingsContext.es.js";
|
|
|
128
133
|
import "../ProjectTreeTable/context/CellEditingContext.es.js";
|
|
129
134
|
import "../ProjectTreeTable/context/ClipboardContext.es.js";
|
|
130
135
|
import "../ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
136
|
+
import "@tanstack/react-table";
|
|
137
|
+
import "../ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
138
|
+
import "../ProjectTreeTable/widgets/DateWidget.es.js";
|
|
139
|
+
import "../ProjectTreeTable/widgets/EnumWidget.es.js";
|
|
140
|
+
import "../ProjectTreeTable/widgets/TextWidget.es.js";
|
|
141
|
+
import "../ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
142
|
+
import "../ProjectTreeTable/widgets/CellWidget.es.js";
|
|
143
|
+
import "../ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
144
|
+
import "../ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
145
|
+
import "../ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
146
|
+
import "../ProjectTreeTable/components/SelectionCell.es.js";
|
|
147
|
+
import "../ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
131
148
|
import versionsToRepresentations from "./versionsToRepresentations.es.js";
|
|
132
149
|
import "../DetailsPanel/DetailsPanel.styled.es.js";
|
|
133
150
|
import "../../../../_virtual/runtime.es.js";
|
|
@@ -148,6 +165,11 @@ import "../../components/EntityPath/EntityPath.styled.es.js";
|
|
|
148
165
|
import "../../components/EntityPath/SegmentProvider.es.js";
|
|
149
166
|
import "../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
150
167
|
import "../../components/Watchers/Watchers.es.js";
|
|
168
|
+
import "../../components/ProjectTableSettings/ProjectTableSettings.es.js";
|
|
169
|
+
import "../../components/SettingsPanel/SettingsPanel.es.js";
|
|
170
|
+
import "../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
171
|
+
import "../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
172
|
+
import "../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
151
173
|
const columns = [
|
|
152
174
|
{
|
|
153
175
|
field: "name",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepresentationsList.es.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RepresentationsList.es.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,UAAU;AAAA,EACd;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX;AAMO,MAAM,sBAAsB,CAAC,EAAE,WAAW,CAAA,QAAgB;;AAEzD,QAAA,kBAAkB,QAAQ,MAAM,0BAA0B,QAAQ,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE3F,QAAM,CAAC,YAAY,aAAa,IAAI,SAAyB,KAAK;AAC5D,QAAA,yBAAwB,qBAAgB,KAAK,CAAC,QAAQ,IAAI,OAAO,UAAU,MAAnD,mBAAsD;AAEpF,QAAM,CAAC,UAAU,WAAW,IAAI,SAAmB,CAAA,CAAE;AAE/C,QAAA,OAAO,QAAQ,MAAM;AAElB,WAAA,YAAY,iBAAiB,MAAM;AAAA,EAAA,GACzC,CAAC,eAAe,CAAC;AAEd,QAAA,uBAAuB,CAAC,aAAqB;AAErC,gBAAA,CAAC,QAAQ,CAAC;AAAA,EACxB;AAEM,QAAA,aAAa,CAAC,MAAW;AACR,yBAAA,EAAE,KAAK,KAAK,EAAE;AAAA,EACrC;AAEM,QAAA,eAAe,CAAC,OAAe;AAAA,IACnC;AAAA,MACE,OAAO;AAAA,MACP,SAAS,MAAM,cAAc,EAAE;AAAA,MAC/B,MAAM;AAAA,IAAA;AAAA,EAEV;AAEA,QAAM,CAAC,WAAW,IAAI,qBAAqB,EAAE;AAEvC,QAAA,oBAAoB,CAAC,MAAW;AAC9B,UAAA,KAAK,EAAE,KAAK,KAAK;AAEvB,QAAI,IAAI;AAEN,2BAAqB,EAAE;AAEvB,kBAAY,EAAE,eAAe,aAAa,EAAE,CAAC;AAAA,IAAA;AAAA,EAEjD;AAEA,SAEIA,kCAAA,KAAAC,4BAAA,EAAA,UAAA;AAAA,IAAAC,sCAAC,YACC,EAAA,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,YAAU;AAAA,QACV,cAAa;AAAA,QACb,OAAO;AAAA,QACP,cAAa;AAAA,QACb,eAAc;AAAA,QACd,eAAe,SAAS,CAAC;AAAA,QACzB;AAAA,QACA,eAAe;AAAA,QAEd,UAAA,QAAQ,IAAI,CAAC,QAAQ;AAElB,iBAAAA,kCAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,OAAO,IAAI;AAAA,cACX,QAAQ,IAAI;AAAA,cACZ,UAAU,IAAI;AAAA,cACd,OAAO,EAAE,OAAO,IAAI,MAAM;AAAA,YAAA;AAAA,YAJrB,IAAI;AAAA,UAKX;AAAA,QAEH,CAAA;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IAEC,cACCA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,WAAW,CAAC,UAAU;AAAA,QACtB,SAAS,CAAC,CAAC;AAAA,QACX,QAAQ,MAAM,cAAc,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACnC,GAEJ;AAEJ;"}
|
|
@@ -54,6 +54,10 @@ require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
|
54
54
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
55
55
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
56
56
|
require("../api/queries/entities/updateEntity.cjs.js");
|
|
57
|
+
require("../api/queries/entityLists/getLists.cjs.js");
|
|
58
|
+
require("../api/queries/entityLists/updateLists.cjs.js");
|
|
59
|
+
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
60
|
+
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
57
61
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
58
62
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
59
63
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
@@ -66,9 +70,10 @@ require("../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
|
66
70
|
require("../api/queries/users/getUsers.cjs.js");
|
|
67
71
|
require("../api/queries/users/updateUsers.cjs.js");
|
|
68
72
|
require("../api/queries/watchers/getWatchers.cjs.js");
|
|
69
|
-
require("
|
|
73
|
+
require("lodash");
|
|
70
74
|
require("react-toastify");
|
|
71
75
|
require("./ThumbnailUploaderContext.cjs.js");
|
|
76
|
+
require("./SettingsPanelContext.cjs.js");
|
|
72
77
|
require("./pip/PiPProvider.cjs.js");
|
|
73
78
|
require("react-dom");
|
|
74
79
|
require("./pip/PiPWrapper.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string\n folderId?: string\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[], entityType: string }) => void\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n setTab: (scope: string, tab: DetailsPanelTab) => void\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n ...forwardedProps\n}) => {\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n setHighlightedActivities([])\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["createContext","useState","useCallback","useLocalStorage","pip","jsx","useContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsPanelContext.cjs.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string\n folderId?: string\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[], entityType: string }) => void\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n setTab: (scope: string, tab: DetailsPanelTab) => void\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n ...forwardedProps\n}) => {\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n setHighlightedActivities([])\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["createContext","useState","useCallback","useLocalStorage","pip","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA,MAAM,sBAAsBA,oBAAmD,MAAS;AAQjF,MAAM,uBAA4D,CAAC;AAAA,EACxE;AAAA,EACA,aAAa;AAAA,EACb,GAAG;AACL,MAAM;AAEJ,QAAM,CAAC,kBAAkB,mBAAmB,IAAIC,MAAAA,SAA2B,CAAA,CAAE;AAG7E,QAAM,kBAAkBC,MAAA;AAAA,IACtB,CAAC,UAA2B;AAEtB,UAAA,iBAAiB,KAAK,GAAG;AAC3B,eAAO,iBAAiB,KAAK;AAAA,MAAA;AAIxB,aAAA;AAAA,IACT;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,eAAeA,MAAA;AAAA,IACnB,CAAC,OAAe,WAAoB;AAE5B,YAAA,WAAW,EAAE,GAAG,iBAAiB;AACvC,eAAS,KAAK,IAAI;AAGlB,0BAAoB,QAAQ;AAAA,IAC9B;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAGM,QAAA,CAAC,aAAa,cAAc,IAAIC,gBAAA;AAAA,IACpC;AAAA,IACA,CAAA;AAAA,EACF;AAGA,QAAM,iBAAiBD,MAAA;AAAA,IACrB,CAAC,UAAmC;AAE9B,UAAA,YAAY,KAAK,GAAG;AACtB,eAAO,YAAY,KAAK;AAAA,MAAA;AAInB,aAAA;AAAA,IACT;AAAA,IACA,CAAC,aAAa,UAAU;AAAA,EAC1B;AAGA,QAAM,SAASA,MAAA;AAAA,IACb,CAAC,OAAe,QAAyB;AAEjC,YAAA,WAAW,EAAE,GAAG,YAAY;AAClC,eAAS,KAAK,IAAI;AAGlB,qBAAe,QAAQ;AAAA,IACzB;AAAA,IACA,CAAC,aAAa,cAAc;AAAA,EAC9B;AAGA,QAAM,CAAC,UAAU,WAAW,IAAID,MAAAA,SAA0B,IAAI;AAGxD,QAAA,eAAeC,kBAAqD,CAAC,WAAW;AACpF,gBAAY,MAAM;AAAA,EACpB,GAAG,EAAE;AAGC,QAAA,gBAAgBA,MAAAA,YAAY,MAAM;AACtC,gBAAY,IAAI;AAChB,6BAAyB,CAAA,CAAE;AAAA,EAC7B,GAAG,EAAE;AAEL,QAAM,CAAC,KAAK,MAAM,IAAID,MAAAA,SAAiC,IAAI;AAErD,QAAA,UAAUC,kBAAY,CAACE,SAAyB;AACpD,WAAOA,IAAG;AAAA,EACZ,GAAG,EAAE;AACC,QAAA,WAAWF,MAAAA,YAAY,MAAM;AACjC,WAAO,IAAI;AAAA,EACb,GAAG,EAAE;AAEL,QAAM,CAAC,uBAAuB,wBAAwB,IAAID,MAAAA,SAAmB,CAAA,CAAE;AAE/E,QAAM,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AAEA,SAAQI,2BAAAA,kBAAAA,IAAA,oBAAoB,UAApB,EAA6B,OAAe,SAAS,CAAA;AAC/D;AAGO,MAAM,yBAAyB,MAA+B;AAC7D,QAAA,UAAUC,iBAAW,mBAAmB;AAC9C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,uDAAuD;AAAA,EAAA;AAElE,SAAA;AACT;AAGa,MAAA,wBAAwB,CAAC,UAAkB;AACtD,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,aAAA,IAAiB,uBAAuB;AAElF,SAAA;AAAA,IACL,QAAQ,gBAAgB,KAAK;AAAA,IAC7B,SAAS,CAAC,WAAoB,aAAa,OAAO,MAAM;AAAA,IACxD,YAAY,eAAe,KAAK;AAAA,IAChC,QAAQ,CAAC,QAAyB,OAAO,OAAO,GAAG;AAAA,IACnD,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,EAAE,SAAS,eAAe,KAAK,CAAC;AAAA,EAC3F;AACF;;;;"}
|
|
@@ -52,6 +52,10 @@ import "../api/queries/authentication/getAuthentication.es.js";
|
|
|
52
52
|
import "../api/queries/entities/getEntity.es.js";
|
|
53
53
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
54
54
|
import "../api/queries/entities/updateEntity.es.js";
|
|
55
|
+
import "../api/queries/entityLists/getLists.es.js";
|
|
56
|
+
import "../api/queries/entityLists/updateLists.es.js";
|
|
57
|
+
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
58
|
+
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
55
59
|
import "../api/queries/folders/getFolders.es.js";
|
|
56
60
|
import "../api/queries/overview/getOverview.es.js";
|
|
57
61
|
import "../api/queries/overview/updateOverview.es.js";
|
|
@@ -64,9 +68,10 @@ import "../api/queries/userDashboard/getUserDashboard.es.js";
|
|
|
64
68
|
import "../api/queries/users/getUsers.es.js";
|
|
65
69
|
import "../api/queries/users/updateUsers.es.js";
|
|
66
70
|
import "../api/queries/watchers/getWatchers.es.js";
|
|
67
|
-
import "
|
|
71
|
+
import "lodash";
|
|
68
72
|
import "react-toastify";
|
|
69
73
|
import "./ThumbnailUploaderContext.es.js";
|
|
74
|
+
import "./SettingsPanelContext.es.js";
|
|
70
75
|
import "./pip/PiPProvider.es.js";
|
|
71
76
|
import "react-dom";
|
|
72
77
|
import "./pip/PiPWrapper.es.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string\n folderId?: string\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[], entityType: string }) => void\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n setTab: (scope: string, tab: DetailsPanelTab) => void\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n ...forwardedProps\n}) => {\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n setHighlightedActivities([])\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["pip","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DetailsPanelContext.es.js","sources":["../../../../src/context/DetailsPanelContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, ReactNode, useState } from 'react'\nimport { useLocalStorage } from '@shared/hooks'\nimport { DetailsPanelEntityType } from '@shared/api'\nimport type { UserModel } from '@shared/api'\n\nexport type FeedFilters = 'activity' | 'comments' | 'versions' | 'checklists'\n\nexport type DetailsPanelTab = FeedFilters | 'attribs' | 'files'\n\nexport type SlideOut = {\n entityId: string\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\nexport type DetailsPanelPip = {\n entityType: DetailsPanelEntityType\n entities: { id: string; projectName: string }[]\n scope: string\n}\n\nexport interface OpenStateByScope {\n [scope: string]: boolean\n}\n\n// Create a new interface for managing tab state by scope\nexport interface TabStateByScope {\n [scope: string]: DetailsPanelTab\n}\n\n// these props get forwarded to the details panel value\n// it's mainly redux callbacks that cannot be used in shared library\nexport interface DetailsPanelContextProps {\n dispatch?: any // this is a redux dispatch function and it's quite annoying we need to do this\n user: UserModel\n viewer?: {\n reviewableIds: string[]\n taskId?: string\n folderId?: string\n }\n // redux callback actions\n onOpenImage?: (args: any) => void\n onGoToFrame?: (frame: number) => void\n onOpenViewer?: (args: any) => void\n onUpdateEntity?: (data: { operations: any[], entityType: string }) => void\n}\n\n// Interface for our simplified context\nexport interface DetailsPanelContextType extends DetailsPanelContextProps {\n // Open state for the panel by scope\n panelOpenByScope: OpenStateByScope\n getOpenForScope: (scope: string) => boolean\n setPanelOpen: (scope: string, isOpen: boolean) => void\n setPanelOpenByScope: (newState: OpenStateByScope) => void\n\n // Tab preferences by scope\n tabsByScope: TabStateByScope\n getTabForScope: (scope: string) => DetailsPanelTab\n setTab: (scope: string, tab: DetailsPanelTab) => void\n\n // Slide out state\n slideOut: null | SlideOut\n openSlideOut: (slideOut: SlideOut) => void\n closeSlideOut: () => void\n\n // Highlighted activities\n highlightedActivities: string[]\n setHighlightedActivities: (activities: string[]) => void\n\n // PiP state\n pip: DetailsPanelPip | null\n openPip: (pip: DetailsPanelPip) => void\n closePip: () => void\n}\n\n// Create the context\nconst DetailsPanelContext = createContext<DetailsPanelContextType | undefined>(undefined)\n\n// Provider component\nexport interface DetailsPanelProviderProps extends DetailsPanelContextProps {\n children: ReactNode\n defaultTab?: DetailsPanelTab\n}\n\nexport const DetailsPanelProvider: React.FC<DetailsPanelProviderProps> = ({\n children,\n defaultTab = 'activity',\n ...forwardedProps\n}) => {\n // keep track of the currently open panel by scope\n const [panelOpenByScope, setPanelOpenByScope] = useState<OpenStateByScope>({})\n\n // get the current open state for a specific scope\n const getOpenForScope = useCallback(\n (scope: string): boolean => {\n // Check if we have a saved preference for this scope\n if (panelOpenByScope[scope]) {\n return panelOpenByScope[scope]\n }\n\n // Fall back to default\n return false\n },\n [panelOpenByScope],\n )\n // Set open state for a scope\n const setPanelOpen = useCallback(\n (scope: string, isOpen: boolean) => {\n // Create a new state object based on current open state\n const newState = { ...panelOpenByScope }\n newState[scope] = isOpen\n\n // Update the state with the new object\n setPanelOpenByScope(newState)\n },\n [panelOpenByScope],\n )\n\n // Use localStorage to persist tab preferences by scope\n const [tabsByScope, setTabsByScope] = useLocalStorage<TabStateByScope>(\n 'details/tabs-by-scope',\n {},\n )\n\n // Get the current tab for a specific scope\n const getTabForScope = useCallback(\n (scope: string): DetailsPanelTab => {\n // Check if we have a saved preference for this scope\n if (tabsByScope[scope]) {\n return tabsByScope[scope]\n }\n\n // Fall back to default\n return defaultTab\n },\n [tabsByScope, defaultTab],\n )\n\n // Set tab for a scope\n const setTab = useCallback(\n (scope: string, tab: DetailsPanelTab) => {\n // Create a new state object based on current tabsByScope\n const newState = { ...tabsByScope }\n newState[scope] = tab\n\n // Update the state with the new object\n setTabsByScope(newState)\n },\n [tabsByScope, setTabsByScope],\n )\n\n // is the slide out open?\n const [slideOut, setSlideOut] = useState<null | SlideOut>(null)\n\n // open the slide out\n const openSlideOut = useCallback<DetailsPanelContextType['openSlideOut']>((params) => {\n setSlideOut(params)\n }, [])\n\n // close the slide out\n const closeSlideOut = useCallback(() => {\n setSlideOut(null)\n setHighlightedActivities([])\n }, [])\n\n const [pip, setPip] = useState<DetailsPanelPip | null>(null)\n\n const openPip = useCallback((pip: DetailsPanelPip) => {\n setPip(pip)\n }, [])\n const closePip = useCallback(() => {\n setPip(null)\n }, [])\n\n const [highlightedActivities, setHighlightedActivities] = useState<string[]>([])\n\n const value = {\n // open state for the panel by scope\n panelOpenByScope,\n getOpenForScope,\n setPanelOpen,\n setPanelOpenByScope,\n // tab preferences\n tabsByScope,\n getTabForScope,\n setTab,\n // slide out state\n slideOut,\n openSlideOut,\n closeSlideOut,\n // highlighted activities\n highlightedActivities,\n setHighlightedActivities,\n // PiP state\n pip,\n openPip,\n closePip,\n ...forwardedProps,\n }\n\n return <DetailsPanelContext.Provider value={value}>{children}</DetailsPanelContext.Provider>\n}\n\n// Custom hook to use the details context\nexport const useDetailsPanelContext = (): DetailsPanelContextType => {\n const context = useContext(DetailsPanelContext)\n if (context === undefined) {\n throw new Error('useDetailsPanel must be used within a DetailsProvider')\n }\n return context\n}\n\n// Add a specialized hook for using a panel in a specific scope\nexport const useScopedDetailsPanel = (scope: string) => {\n const { getTabForScope, setTab, getOpenForScope, setPanelOpen } = useDetailsPanelContext()\n\n return {\n isOpen: getOpenForScope(scope),\n setOpen: (isOpen: boolean) => setPanelOpen(scope, isOpen),\n currentTab: getTabForScope(scope),\n setTab: (tab: DetailsPanelTab) => setTab(scope, tab),\n isFeed: ['activity', 'comments', 'versions', 'checklists'].includes(getTabForScope(scope)),\n }\n}\n"],"names":["pip","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA,MAAM,sBAAsB,cAAmD,MAAS;AAQjF,MAAM,uBAA4D,CAAC;AAAA,EACxE;AAAA,EACA,aAAa;AAAA,EACb,GAAG;AACL,MAAM;AAEJ,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAA2B,CAAA,CAAE;AAG7E,QAAM,kBAAkB;AAAA,IACtB,CAAC,UAA2B;AAEtB,UAAA,iBAAiB,KAAK,GAAG;AAC3B,eAAO,iBAAiB,KAAK;AAAA,MAAA;AAIxB,aAAA;AAAA,IACT;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,eAAe;AAAA,IACnB,CAAC,OAAe,WAAoB;AAE5B,YAAA,WAAW,EAAE,GAAG,iBAAiB;AACvC,eAAS,KAAK,IAAI;AAGlB,0BAAoB,QAAQ;AAAA,IAC9B;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAGM,QAAA,CAAC,aAAa,cAAc,IAAI;AAAA,IACpC;AAAA,IACA,CAAA;AAAA,EACF;AAGA,QAAM,iBAAiB;AAAA,IACrB,CAAC,UAAmC;AAE9B,UAAA,YAAY,KAAK,GAAG;AACtB,eAAO,YAAY,KAAK;AAAA,MAAA;AAInB,aAAA;AAAA,IACT;AAAA,IACA,CAAC,aAAa,UAAU;AAAA,EAC1B;AAGA,QAAM,SAAS;AAAA,IACb,CAAC,OAAe,QAAyB;AAEjC,YAAA,WAAW,EAAE,GAAG,YAAY;AAClC,eAAS,KAAK,IAAI;AAGlB,qBAAe,QAAQ;AAAA,IACzB;AAAA,IACA,CAAC,aAAa,cAAc;AAAA,EAC9B;AAGA,QAAM,CAAC,UAAU,WAAW,IAAI,SAA0B,IAAI;AAGxD,QAAA,eAAe,YAAqD,CAAC,WAAW;AACpF,gBAAY,MAAM;AAAA,EACpB,GAAG,EAAE;AAGC,QAAA,gBAAgB,YAAY,MAAM;AACtC,gBAAY,IAAI;AAChB,6BAAyB,CAAA,CAAE;AAAA,EAC7B,GAAG,EAAE;AAEL,QAAM,CAAC,KAAK,MAAM,IAAI,SAAiC,IAAI;AAErD,QAAA,UAAU,YAAY,CAACA,SAAyB;AACpD,WAAOA,IAAG;AAAA,EACZ,GAAG,EAAE;AACC,QAAA,WAAW,YAAY,MAAM;AACjC,WAAO,IAAI;AAAA,EACb,GAAG,EAAE;AAEL,QAAM,CAAC,uBAAuB,wBAAwB,IAAI,SAAmB,CAAA,CAAE;AAE/E,QAAM,QAAQ;AAAA;AAAA,IAEZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL;AAEA,SAAQC,kCAAAA,IAAA,oBAAoB,UAApB,EAA6B,OAAe,SAAS,CAAA;AAC/D;AAGO,MAAM,yBAAyB,MAA+B;AAC7D,QAAA,UAAU,WAAW,mBAAmB;AAC9C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,uDAAuD;AAAA,EAAA;AAElE,SAAA;AACT;AAGa,MAAA,wBAAwB,CAAC,UAAkB;AACtD,QAAM,EAAE,gBAAgB,QAAQ,iBAAiB,aAAA,IAAiB,uBAAuB;AAElF,SAAA;AAAA,IACL,QAAQ,gBAAgB,KAAK;AAAA,IAC7B,SAAS,CAAC,WAAoB,aAAa,OAAO,MAAM;AAAA,IACxD,YAAY,eAAe,KAAK;AAAA,IAChC,QAAQ,CAAC,QAAyB,OAAO,OAAO,GAAG;AAAA,IACnD,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,EAAE,SAAS,eAAe,KAAK,CAAC;AAAA,EAC3F;AACF;"}
|
|
@@ -51,6 +51,10 @@ require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
|
51
51
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
52
52
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
53
53
|
require("../api/queries/entities/updateEntity.cjs.js");
|
|
54
|
+
require("../api/queries/entityLists/getLists.cjs.js");
|
|
55
|
+
require("../api/queries/entityLists/updateLists.cjs.js");
|
|
56
|
+
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
57
|
+
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
54
58
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
55
59
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
56
60
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n if (isLoading || !addonRemoteModules.length || isLoadingInfo || remotesInitialized) return\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["createContext","useListFrontendModulesQuery","useGetSiteInfoQuery","useState","useEffect","modules","registerRemotes","jsx","useContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n if (isLoading || !addonRemoteModules.length || isLoadingInfo || remotesInitialized) return\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["createContext","useListFrontendModulesQuery","useGetSiteInfoQuery","useState","useEffect","modules","registerRemotes","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,uBAAuBA,MAAAA,cAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC;AAOM,MAAM,wBAAwB,CAAC,EAAE,UAAU,WAAkB;AAE5D,QAAA,EAAE,MAAM,qBAAqB,CAAA,GAAI,UAAU,IAAIC,sCAA4B,QAAW;AAAA,IAC1F;AAAA,EAAA,CACD;AAED,QAAM,EAAE,MAAM,OAAO,CAAI,GAAA,WAAW,kBAAkBC,UAAA;AAAA,IACpD,EAAE,MAAM,KAAK;AAAA,IACb,EAAE,KAAK;AAAA,EACT;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAIC,MAAAA,SAAS,KAAK;AAElEC,QAAAA,UAAU,MAAM;AACd,QAAI,aAAa,CAAC,mBAAmB,UAAU,iBAAiB,mBAAoB;AAGpF,UAAM,aAAuB,CAAC;AAEX,uBAAA,QAAQ,CAAC,UAAU;AACpC,YAAM,EAAE,WAAW,cAAc,UAAU,CAAA,EAAO,IAAA;AAE3C,aAAA,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQC,QAAO,MAAM;AACrD,mBAAW,KAAK;AAAA,UACd;AAAA,UACA,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAAA;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAEO,YAAA,IAAI,wBAAwB,UAAU;AAC9CC,YAAA,eAAA;AAAA,MACE,WAAW,IAAI,CAAC,MAAO;;AAAA;AAAA,UACrB,MAAM,EAAE;AAAA,UACR,OAAO,EAAE;AAAA,UACT,OAAO,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0B,kCAAM,gBAAN,mBAAmB,aAAW,6BAAM,YAAW,KACvE,kCAAM,gBAAN,mBAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ;AAEA,0BAAsB,IAAI;AAAA,KACzB,CAAC,oBAAoB,WAAW,eAAe,kBAAkB,CAAC;AAGnE,SAAAC,2BAAA,kBAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,UAAUC,iBAAW,oBAAoB;AAE/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAGzE,SAAA;AACT;;;"}
|
|
@@ -49,6 +49,10 @@ import "../api/queries/authentication/getAuthentication.es.js";
|
|
|
49
49
|
import "../api/queries/entities/getEntity.es.js";
|
|
50
50
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
51
51
|
import "../api/queries/entities/updateEntity.es.js";
|
|
52
|
+
import "../api/queries/entityLists/getLists.es.js";
|
|
53
|
+
import "../api/queries/entityLists/updateLists.es.js";
|
|
54
|
+
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
55
|
+
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
52
56
|
import "../api/queries/folders/getFolders.es.js";
|
|
53
57
|
import "../api/queries/overview/getOverview.es.js";
|
|
54
58
|
import "../api/queries/overview/updateOverview.es.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n if (isLoading || !addonRemoteModules.length || isLoadingInfo || remotesInitialized) return\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["modules","registerRemotes","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport {\n FrontendModuleListItem,\n useListFrontendModulesQuery,\n useGetSiteInfoQuery,\n} from '@shared/api'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const { data: info = {}, isLoading: isLoadingInfo } = useGetSiteInfoQuery(\n { full: true },\n { skip },\n )\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n if (isLoading || !addonRemoteModules.length || isLoadingInfo || remotesInitialized) return\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n console.log('registerAddonRemotes', allRemotes)\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${info?.releaseInfo?.version || info?.releaseInfo}-${\n info?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["modules","registerRemotes","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,uBAAuB,cAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC;AAOM,MAAM,wBAAwB,CAAC,EAAE,UAAU,WAAkB;AAE5D,QAAA,EAAE,MAAM,qBAAqB,CAAA,GAAI,UAAU,IAAI,4BAA4B,QAAW;AAAA,IAC1F;AAAA,EAAA,CACD;AAED,QAAM,EAAE,MAAM,OAAO,CAAI,GAAA,WAAW,kBAAkB;AAAA,IACpD,EAAE,MAAM,KAAK;AAAA,IACb,EAAE,KAAK;AAAA,EACT;AAEA,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,KAAK;AAElE,YAAU,MAAM;AACd,QAAI,aAAa,CAAC,mBAAmB,UAAU,iBAAiB,mBAAoB;AAGpF,UAAM,aAAuB,CAAC;AAEX,uBAAA,QAAQ,CAAC,UAAU;AACpC,YAAM,EAAE,WAAW,cAAc,UAAU,CAAA,EAAO,IAAA;AAE3C,aAAA,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQA,QAAO,MAAM;AACrD,mBAAW,KAAK;AAAA,UACd;AAAA,UACA,OAAO;AAAA,UACP,SAAS;AAAA,UACT,SAAAA;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAEO,YAAA,IAAI,wBAAwB,UAAU;AAC9CC,mBAAA;AAAA,MACE,WAAW,IAAI,CAAC,MAAO;;AAAA;AAAA,UACrB,MAAM,EAAE;AAAA,UACR,OAAO,EAAE;AAAA,UACT,OAAO,WAAW,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0B,kCAAM,gBAAN,mBAAmB,aAAW,6BAAM,YAAW,KACvE,kCAAM,gBAAN,mBAAmB,SACrB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ;AAEA,0BAAsB,IAAI;AAAA,KACzB,CAAC,oBAAoB,WAAW,eAAe,kBAAkB,CAAC;AAGnE,SAAAC,kCAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAM;AAC9B,QAAA,UAAU,WAAW,oBAAoB;AAE/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAGzE,SAAA;AACT;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("../../../_virtual/jsx-runtime.cjs.js");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const SettingsPanelContext = React.createContext(void 0);
|
|
6
|
+
const SettingsPanelProvider = ({ children }) => {
|
|
7
|
+
const [isPanelOpen, setIsPanelOpen] = React.useState(false);
|
|
8
|
+
const [selectedSetting, setSelectedSetting] = React.useState(null);
|
|
9
|
+
const [highlightedSetting, setHighlightedSetting] = React.useState(null);
|
|
10
|
+
const openPanel = () => {
|
|
11
|
+
setIsPanelOpen(true);
|
|
12
|
+
setSelectedSetting(null);
|
|
13
|
+
};
|
|
14
|
+
const closePanel = () => {
|
|
15
|
+
setIsPanelOpen(false);
|
|
16
|
+
setSelectedSetting(null);
|
|
17
|
+
};
|
|
18
|
+
const togglePanel = (setting, highlighted = null) => {
|
|
19
|
+
setIsPanelOpen((prev) => !prev);
|
|
20
|
+
if (setting && !isPanelOpen) {
|
|
21
|
+
setSelectedSetting(setting);
|
|
22
|
+
setHighlightedSetting(highlighted);
|
|
23
|
+
} else {
|
|
24
|
+
setSelectedSetting(null);
|
|
25
|
+
setHighlightedSetting(null);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const selectSetting = (setting, highlighted = null) => {
|
|
29
|
+
setSelectedSetting(setting);
|
|
30
|
+
setHighlightedSetting(highlighted);
|
|
31
|
+
};
|
|
32
|
+
const backToMainMenu = () => {
|
|
33
|
+
setSelectedSetting(null);
|
|
34
|
+
setHighlightedSetting(null);
|
|
35
|
+
};
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
37
|
+
SettingsPanelContext.Provider,
|
|
38
|
+
{
|
|
39
|
+
value: {
|
|
40
|
+
isPanelOpen,
|
|
41
|
+
selectedSetting,
|
|
42
|
+
highlightedSetting,
|
|
43
|
+
setHighlightedSetting,
|
|
44
|
+
openPanel,
|
|
45
|
+
closePanel,
|
|
46
|
+
togglePanel,
|
|
47
|
+
selectSetting,
|
|
48
|
+
backToMainMenu
|
|
49
|
+
},
|
|
50
|
+
children
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
};
|
|
54
|
+
const useSettingsPanel = () => {
|
|
55
|
+
const context = React.useContext(SettingsPanelContext);
|
|
56
|
+
if (context === void 0) {
|
|
57
|
+
throw new Error("useSettingsPanel must be used within a SettingsPanelProvider");
|
|
58
|
+
}
|
|
59
|
+
return context;
|
|
60
|
+
};
|
|
61
|
+
exports.SettingsPanelProvider = SettingsPanelProvider;
|
|
62
|
+
exports.useSettingsPanel = useSettingsPanel;
|
|
63
|
+
//# sourceMappingURL=SettingsPanelContext.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPanelContext.cjs.js","sources":["../../../../src/context/SettingsPanelContext.tsx"],"sourcesContent":["import { createContext, useState, useContext, FC, ReactNode, Dispatch } from 'react'\n\nexport type SettingField = 'columns' | string\nexport type SettingHighlightedId = string | null\ninterface SettingsPanelContextType {\n isPanelOpen: boolean\n selectedSetting: SettingField | null\n highlightedSetting: SettingHighlightedId\n setHighlightedSetting: Dispatch<React.SetStateAction<SettingHighlightedId>>\n openPanel: () => void\n closePanel: () => void\n togglePanel: (setting?: SettingField | null, highlighted?: SettingHighlightedId) => void\n selectSetting: (setting: SettingField | null, highlighted?: SettingHighlightedId) => void\n backToMainMenu: () => void\n}\n\nconst SettingsPanelContext = createContext<SettingsPanelContextType | undefined>(undefined)\n\ninterface SettingsPanelProviderProps {\n children: ReactNode\n}\n\nexport const SettingsPanelProvider: FC<SettingsPanelProviderProps> = ({ children }) => {\n const [isPanelOpen, setIsPanelOpen] = useState(false)\n const [selectedSetting, setSelectedSetting] = useState<SettingField | null>(null)\n // highlighted setting item and scroll to it (setting panel must handle it itself)\n const [highlightedSetting, setHighlightedSetting] = useState<SettingHighlightedId>(null)\n\n const openPanel = () => {\n setIsPanelOpen(true)\n setSelectedSetting(null)\n }\n\n const closePanel = () => {\n setIsPanelOpen(false)\n setSelectedSetting(null)\n }\n\n const togglePanel: SettingsPanelContextType['togglePanel'] = (setting, highlighted = null) => {\n setIsPanelOpen((prev) => !prev)\n\n // If a setting is provided, select it\n if (setting && !isPanelOpen) {\n setSelectedSetting(setting)\n setHighlightedSetting(highlighted)\n } else {\n setSelectedSetting(null)\n setHighlightedSetting(null)\n }\n }\n\n const selectSetting: SettingsPanelContextType['selectSetting'] = (\n setting,\n highlighted = null,\n ) => {\n setSelectedSetting(setting)\n setHighlightedSetting(highlighted)\n }\n\n const backToMainMenu = () => {\n setSelectedSetting(null)\n setHighlightedSetting(null)\n }\n\n return (\n <SettingsPanelContext.Provider\n value={{\n isPanelOpen,\n selectedSetting,\n highlightedSetting,\n setHighlightedSetting,\n openPanel,\n closePanel,\n togglePanel,\n selectSetting,\n backToMainMenu,\n }}\n >\n {children}\n </SettingsPanelContext.Provider>\n )\n}\n\nexport const useSettingsPanel = (): SettingsPanelContextType => {\n const context = useContext(SettingsPanelContext)\n if (context === undefined) {\n throw new Error('useSettingsPanel must be used within a SettingsPanelProvider')\n }\n return context\n}\n"],"names":["createContext","useState","jsx","useContext"],"mappings":";;;;AAgBA,MAAM,uBAAuBA,oBAAoD,MAAS;AAMnF,MAAM,wBAAwD,CAAC,EAAE,eAAe;AACrF,QAAM,CAAC,aAAa,cAAc,IAAIC,MAAAA,SAAS,KAAK;AACpD,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,MAAAA,SAA8B,IAAI;AAEhF,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,MAAAA,SAA+B,IAAI;AAEvF,QAAM,YAAY,MAAM;AACtB,mBAAe,IAAI;AACnB,uBAAmB,IAAI;AAAA,EACzB;AAEA,QAAM,aAAa,MAAM;AACvB,mBAAe,KAAK;AACpB,uBAAmB,IAAI;AAAA,EACzB;AAEA,QAAM,cAAuD,CAAC,SAAS,cAAc,SAAS;AAC7E,mBAAA,CAAC,SAAS,CAAC,IAAI;AAG1B,QAAA,WAAW,CAAC,aAAa;AAC3B,yBAAmB,OAAO;AAC1B,4BAAsB,WAAW;AAAA,IAAA,OAC5B;AACL,yBAAmB,IAAI;AACvB,4BAAsB,IAAI;AAAA,IAAA;AAAA,EAE9B;AAEA,QAAM,gBAA2D,CAC/D,SACA,cAAc,SACX;AACH,uBAAmB,OAAO;AAC1B,0BAAsB,WAAW;AAAA,EACnC;AAEA,QAAM,iBAAiB,MAAM;AAC3B,uBAAmB,IAAI;AACvB,0BAAsB,IAAI;AAAA,EAC5B;AAGE,SAAAC,2BAAA,kBAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAgC;AACxD,QAAA,UAAUC,iBAAW,oBAAoB;AAC/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAEzE,SAAA;AACT;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { createContext, useState, useContext } from "react";
|
|
3
|
+
const SettingsPanelContext = createContext(void 0);
|
|
4
|
+
const SettingsPanelProvider = ({ children }) => {
|
|
5
|
+
const [isPanelOpen, setIsPanelOpen] = useState(false);
|
|
6
|
+
const [selectedSetting, setSelectedSetting] = useState(null);
|
|
7
|
+
const [highlightedSetting, setHighlightedSetting] = useState(null);
|
|
8
|
+
const openPanel = () => {
|
|
9
|
+
setIsPanelOpen(true);
|
|
10
|
+
setSelectedSetting(null);
|
|
11
|
+
};
|
|
12
|
+
const closePanel = () => {
|
|
13
|
+
setIsPanelOpen(false);
|
|
14
|
+
setSelectedSetting(null);
|
|
15
|
+
};
|
|
16
|
+
const togglePanel = (setting, highlighted = null) => {
|
|
17
|
+
setIsPanelOpen((prev) => !prev);
|
|
18
|
+
if (setting && !isPanelOpen) {
|
|
19
|
+
setSelectedSetting(setting);
|
|
20
|
+
setHighlightedSetting(highlighted);
|
|
21
|
+
} else {
|
|
22
|
+
setSelectedSetting(null);
|
|
23
|
+
setHighlightedSetting(null);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const selectSetting = (setting, highlighted = null) => {
|
|
27
|
+
setSelectedSetting(setting);
|
|
28
|
+
setHighlightedSetting(highlighted);
|
|
29
|
+
};
|
|
30
|
+
const backToMainMenu = () => {
|
|
31
|
+
setSelectedSetting(null);
|
|
32
|
+
setHighlightedSetting(null);
|
|
33
|
+
};
|
|
34
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
35
|
+
SettingsPanelContext.Provider,
|
|
36
|
+
{
|
|
37
|
+
value: {
|
|
38
|
+
isPanelOpen,
|
|
39
|
+
selectedSetting,
|
|
40
|
+
highlightedSetting,
|
|
41
|
+
setHighlightedSetting,
|
|
42
|
+
openPanel,
|
|
43
|
+
closePanel,
|
|
44
|
+
togglePanel,
|
|
45
|
+
selectSetting,
|
|
46
|
+
backToMainMenu
|
|
47
|
+
},
|
|
48
|
+
children
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
const useSettingsPanel = () => {
|
|
53
|
+
const context = useContext(SettingsPanelContext);
|
|
54
|
+
if (context === void 0) {
|
|
55
|
+
throw new Error("useSettingsPanel must be used within a SettingsPanelProvider");
|
|
56
|
+
}
|
|
57
|
+
return context;
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
SettingsPanelProvider,
|
|
61
|
+
useSettingsPanel
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=SettingsPanelContext.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPanelContext.es.js","sources":["../../../../src/context/SettingsPanelContext.tsx"],"sourcesContent":["import { createContext, useState, useContext, FC, ReactNode, Dispatch } from 'react'\n\nexport type SettingField = 'columns' | string\nexport type SettingHighlightedId = string | null\ninterface SettingsPanelContextType {\n isPanelOpen: boolean\n selectedSetting: SettingField | null\n highlightedSetting: SettingHighlightedId\n setHighlightedSetting: Dispatch<React.SetStateAction<SettingHighlightedId>>\n openPanel: () => void\n closePanel: () => void\n togglePanel: (setting?: SettingField | null, highlighted?: SettingHighlightedId) => void\n selectSetting: (setting: SettingField | null, highlighted?: SettingHighlightedId) => void\n backToMainMenu: () => void\n}\n\nconst SettingsPanelContext = createContext<SettingsPanelContextType | undefined>(undefined)\n\ninterface SettingsPanelProviderProps {\n children: ReactNode\n}\n\nexport const SettingsPanelProvider: FC<SettingsPanelProviderProps> = ({ children }) => {\n const [isPanelOpen, setIsPanelOpen] = useState(false)\n const [selectedSetting, setSelectedSetting] = useState<SettingField | null>(null)\n // highlighted setting item and scroll to it (setting panel must handle it itself)\n const [highlightedSetting, setHighlightedSetting] = useState<SettingHighlightedId>(null)\n\n const openPanel = () => {\n setIsPanelOpen(true)\n setSelectedSetting(null)\n }\n\n const closePanel = () => {\n setIsPanelOpen(false)\n setSelectedSetting(null)\n }\n\n const togglePanel: SettingsPanelContextType['togglePanel'] = (setting, highlighted = null) => {\n setIsPanelOpen((prev) => !prev)\n\n // If a setting is provided, select it\n if (setting && !isPanelOpen) {\n setSelectedSetting(setting)\n setHighlightedSetting(highlighted)\n } else {\n setSelectedSetting(null)\n setHighlightedSetting(null)\n }\n }\n\n const selectSetting: SettingsPanelContextType['selectSetting'] = (\n setting,\n highlighted = null,\n ) => {\n setSelectedSetting(setting)\n setHighlightedSetting(highlighted)\n }\n\n const backToMainMenu = () => {\n setSelectedSetting(null)\n setHighlightedSetting(null)\n }\n\n return (\n <SettingsPanelContext.Provider\n value={{\n isPanelOpen,\n selectedSetting,\n highlightedSetting,\n setHighlightedSetting,\n openPanel,\n closePanel,\n togglePanel,\n selectSetting,\n backToMainMenu,\n }}\n >\n {children}\n </SettingsPanelContext.Provider>\n )\n}\n\nexport const useSettingsPanel = (): SettingsPanelContextType => {\n const context = useContext(SettingsPanelContext)\n if (context === undefined) {\n throw new Error('useSettingsPanel must be used within a SettingsPanelProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":";;AAgBA,MAAM,uBAAuB,cAAoD,MAAS;AAMnF,MAAM,wBAAwD,CAAC,EAAE,eAAe;AACrF,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AACpD,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAA8B,IAAI;AAEhF,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAA+B,IAAI;AAEvF,QAAM,YAAY,MAAM;AACtB,mBAAe,IAAI;AACnB,uBAAmB,IAAI;AAAA,EACzB;AAEA,QAAM,aAAa,MAAM;AACvB,mBAAe,KAAK;AACpB,uBAAmB,IAAI;AAAA,EACzB;AAEA,QAAM,cAAuD,CAAC,SAAS,cAAc,SAAS;AAC7E,mBAAA,CAAC,SAAS,CAAC,IAAI;AAG1B,QAAA,WAAW,CAAC,aAAa;AAC3B,yBAAmB,OAAO;AAC1B,4BAAsB,WAAW;AAAA,IAAA,OAC5B;AACL,yBAAmB,IAAI;AACvB,4BAAsB,IAAI;AAAA,IAAA;AAAA,EAE9B;AAEA,QAAM,gBAA2D,CAC/D,SACA,cAAc,SACX;AACH,uBAAmB,OAAO;AAC1B,0BAAsB,WAAW;AAAA,EACnC;AAEA,QAAM,iBAAiB,MAAM;AAC3B,uBAAmB,IAAI;AACvB,0BAAsB,IAAI;AAAA,EAC5B;AAGE,SAAAA,kCAAA;AAAA,IAAC,qBAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA,IAAA;AAAA,EACH;AAEJ;AAEO,MAAM,mBAAmB,MAAgC;AACxD,QAAA,UAAU,WAAW,oBAAoB;AAC/C,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,8DAA8D;AAAA,EAAA;AAEzE,SAAA;AACT;"}
|
|
@@ -5,6 +5,7 @@ const React = require("react");
|
|
|
5
5
|
require("../containers/ContextMenu/ContextMenuContext.cjs.js");
|
|
6
6
|
require("@ynput/ayon-react-components");
|
|
7
7
|
;/* empty css */
|
|
8
|
+
require("clsx");
|
|
8
9
|
const useCreateContextMenu = require("../containers/ContextMenu/useCreateContextMenu.cjs.js");
|
|
9
10
|
const ThumbnailUploadContext = React.createContext({});
|
|
10
11
|
const ThumbnailUploadProvider = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThumbnailUploaderContext.cjs.js","sources":["../../../../src/context/ThumbnailUploaderContext.tsx"],"sourcesContent":["import { createContext, useState } from 'react'\n\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\n\nexport const ThumbnailUploadContext = createContext<{\n onContextMenu?: Function\n resetFileUploadState?: Function\n inputRef?: HTMLInputElement\n}>({})\n\nexport type ThumbnailUploadProviderProps = {\n handleThumbnailUpload: (thumbnails: any[]) => {}\n entities: any\n inputRef: any\n children?: JSX.Element | JSX.Element[]\n}\n\nexport const ThumbnailUploadProvider = ({\n children = [],\n inputRef,\n}: ThumbnailUploadProviderProps) => {\n const [_, setFileUploadInProgress] = useState(false)\n const [ctxMenuShow] = useCreateContextMenu()\n const resetFileUploadState = () => setFileUploadInProgress(false)\n\n const ctxMenuItems = () => [\n {\n label: 'Upload new thumbnail',\n icon: 'add_photo_alternate',\n command: () => {\n if (inputRef) {\n inputRef.current!.click()\n }\n return setFileUploadInProgress(true)\n },\n },\n ]\n\n const onContextMenu = (event: MouseEvent) => {\n // @ts-expect-error - I just can't do this right now\n ctxMenuShow(event, ctxMenuItems())\n }\n\n return (\n <ThumbnailUploadContext.Provider value={{ onContextMenu, resetFileUploadState }}>\n {children}\n </ThumbnailUploadContext.Provider>\n )\n}\n\nexport const useThumbnailUploadContext = () => {\n const context = ThumbnailUploadContext\n if (!context) {\n throw new Error('useThumbnailUploadContext must be used within a ThumbnailUploadProvider')\n }\n return context\n}\n"],"names":["createContext","useState","useCreateContextMenu","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThumbnailUploaderContext.cjs.js","sources":["../../../../src/context/ThumbnailUploaderContext.tsx"],"sourcesContent":["import { createContext, useState } from 'react'\n\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\n\nexport const ThumbnailUploadContext = createContext<{\n onContextMenu?: Function\n resetFileUploadState?: Function\n inputRef?: HTMLInputElement\n}>({})\n\nexport type ThumbnailUploadProviderProps = {\n handleThumbnailUpload: (thumbnails: any[]) => {}\n entities: any\n inputRef: any\n children?: JSX.Element | JSX.Element[]\n}\n\nexport const ThumbnailUploadProvider = ({\n children = [],\n inputRef,\n}: ThumbnailUploadProviderProps) => {\n const [_, setFileUploadInProgress] = useState(false)\n const [ctxMenuShow] = useCreateContextMenu()\n const resetFileUploadState = () => setFileUploadInProgress(false)\n\n const ctxMenuItems = () => [\n {\n label: 'Upload new thumbnail',\n icon: 'add_photo_alternate',\n command: () => {\n if (inputRef) {\n inputRef.current!.click()\n }\n return setFileUploadInProgress(true)\n },\n },\n ]\n\n const onContextMenu = (event: MouseEvent) => {\n // @ts-expect-error - I just can't do this right now\n ctxMenuShow(event, ctxMenuItems())\n }\n\n return (\n <ThumbnailUploadContext.Provider value={{ onContextMenu, resetFileUploadState }}>\n {children}\n </ThumbnailUploadContext.Provider>\n )\n}\n\nexport const useThumbnailUploadContext = () => {\n const context = ThumbnailUploadContext\n if (!context) {\n throw new Error('useThumbnailUploadContext must be used within a ThumbnailUploadProvider')\n }\n return context\n}\n"],"names":["createContext","useState","useCreateContextMenu","jsx"],"mappings":";;;;;;;;;AAIa,MAAA,yBAAyBA,MAInC,cAAA,CAAE,CAAA;AASE,MAAM,0BAA0B,CAAC;AAAA,EACtC,WAAW,CAAC;AAAA,EACZ;AACF,MAAoC;AAClC,QAAM,CAAC,GAAG,uBAAuB,IAAIC,MAAAA,SAAS,KAAK;AAC7C,QAAA,CAAC,WAAW,IAAIC,0CAAqB;AACrC,QAAA,uBAAuB,MAAM,wBAAwB,KAAK;AAEhE,QAAM,eAAe,MAAM;AAAA,IACzB;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AACb,YAAI,UAAU;AACZ,mBAAS,QAAS,MAAM;AAAA,QAAA;AAE1B,eAAO,wBAAwB,IAAI;AAAA,MAAA;AAAA,IACrC;AAAA,EAEJ;AAEM,QAAA,gBAAgB,CAAC,UAAsB;AAE/B,gBAAA,OAAO,cAAc;AAAA,EACnC;AAGE,SAAAC,2BAAA,kBAAA,IAAC,uBAAuB,UAAvB,EAAgC,OAAO,EAAE,eAAe,wBACtD,UACH;AAEJ;AAEO,MAAM,4BAA4B,MAAM;AAC7C,QAAM,UAAU;AAChB,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,yEAAyE;AAAA,EAAA;AAEpF,SAAA;AACT;;;;"}
|
|
@@ -3,6 +3,7 @@ import { createContext, useState } from "react";
|
|
|
3
3
|
import "../containers/ContextMenu/ContextMenuContext.es.js";
|
|
4
4
|
import "@ynput/ayon-react-components";
|
|
5
5
|
/* empty css */
|
|
6
|
+
import "clsx";
|
|
6
7
|
import { useCreateContextMenu } from "../containers/ContextMenu/useCreateContextMenu.es.js";
|
|
7
8
|
const ThumbnailUploadContext = createContext({});
|
|
8
9
|
const ThumbnailUploadProvider = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThumbnailUploaderContext.es.js","sources":["../../../../src/context/ThumbnailUploaderContext.tsx"],"sourcesContent":["import { createContext, useState } from 'react'\n\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\n\nexport const ThumbnailUploadContext = createContext<{\n onContextMenu?: Function\n resetFileUploadState?: Function\n inputRef?: HTMLInputElement\n}>({})\n\nexport type ThumbnailUploadProviderProps = {\n handleThumbnailUpload: (thumbnails: any[]) => {}\n entities: any\n inputRef: any\n children?: JSX.Element | JSX.Element[]\n}\n\nexport const ThumbnailUploadProvider = ({\n children = [],\n inputRef,\n}: ThumbnailUploadProviderProps) => {\n const [_, setFileUploadInProgress] = useState(false)\n const [ctxMenuShow] = useCreateContextMenu()\n const resetFileUploadState = () => setFileUploadInProgress(false)\n\n const ctxMenuItems = () => [\n {\n label: 'Upload new thumbnail',\n icon: 'add_photo_alternate',\n command: () => {\n if (inputRef) {\n inputRef.current!.click()\n }\n return setFileUploadInProgress(true)\n },\n },\n ]\n\n const onContextMenu = (event: MouseEvent) => {\n // @ts-expect-error - I just can't do this right now\n ctxMenuShow(event, ctxMenuItems())\n }\n\n return (\n <ThumbnailUploadContext.Provider value={{ onContextMenu, resetFileUploadState }}>\n {children}\n </ThumbnailUploadContext.Provider>\n )\n}\n\nexport const useThumbnailUploadContext = () => {\n const context = ThumbnailUploadContext\n if (!context) {\n throw new Error('useThumbnailUploadContext must be used within a ThumbnailUploadProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThumbnailUploaderContext.es.js","sources":["../../../../src/context/ThumbnailUploaderContext.tsx"],"sourcesContent":["import { createContext, useState } from 'react'\n\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\n\nexport const ThumbnailUploadContext = createContext<{\n onContextMenu?: Function\n resetFileUploadState?: Function\n inputRef?: HTMLInputElement\n}>({})\n\nexport type ThumbnailUploadProviderProps = {\n handleThumbnailUpload: (thumbnails: any[]) => {}\n entities: any\n inputRef: any\n children?: JSX.Element | JSX.Element[]\n}\n\nexport const ThumbnailUploadProvider = ({\n children = [],\n inputRef,\n}: ThumbnailUploadProviderProps) => {\n const [_, setFileUploadInProgress] = useState(false)\n const [ctxMenuShow] = useCreateContextMenu()\n const resetFileUploadState = () => setFileUploadInProgress(false)\n\n const ctxMenuItems = () => [\n {\n label: 'Upload new thumbnail',\n icon: 'add_photo_alternate',\n command: () => {\n if (inputRef) {\n inputRef.current!.click()\n }\n return setFileUploadInProgress(true)\n },\n },\n ]\n\n const onContextMenu = (event: MouseEvent) => {\n // @ts-expect-error - I just can't do this right now\n ctxMenuShow(event, ctxMenuItems())\n }\n\n return (\n <ThumbnailUploadContext.Provider value={{ onContextMenu, resetFileUploadState }}>\n {children}\n </ThumbnailUploadContext.Provider>\n )\n}\n\nexport const useThumbnailUploadContext = () => {\n const context = ThumbnailUploadContext\n if (!context) {\n throw new Error('useThumbnailUploadContext must be used within a ThumbnailUploadProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":";;;;;;;AAIa,MAAA,yBAAyB,cAInC,CAAE,CAAA;AASE,MAAM,0BAA0B,CAAC;AAAA,EACtC,WAAW,CAAC;AAAA,EACZ;AACF,MAAoC;AAClC,QAAM,CAAC,GAAG,uBAAuB,IAAI,SAAS,KAAK;AAC7C,QAAA,CAAC,WAAW,IAAI,qBAAqB;AACrC,QAAA,uBAAuB,MAAM,wBAAwB,KAAK;AAEhE,QAAM,eAAe,MAAM;AAAA,IACzB;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AACb,YAAI,UAAU;AACZ,mBAAS,QAAS,MAAM;AAAA,QAAA;AAE1B,eAAO,wBAAwB,IAAI;AAAA,MAAA;AAAA,IACrC;AAAA,EAEJ;AAEM,QAAA,gBAAgB,CAAC,UAAsB;AAE/B,gBAAA,OAAO,cAAc;AAAA,EACnC;AAGE,SAAAA,kCAAA,IAAC,uBAAuB,UAAvB,EAAgC,OAAO,EAAE,eAAe,wBACtD,UACH;AAEJ;AAEO,MAAM,4BAA4B,MAAM;AAC7C,QAAM,UAAU;AAChB,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,yEAAyE;AAAA,EAAA;AAEpF,SAAA;AACT;"}
|
|
@@ -49,6 +49,10 @@ require("../api/queries/authentication/getAuthentication.cjs.js");
|
|
|
49
49
|
require("../api/queries/entities/getEntity.cjs.js");
|
|
50
50
|
require("../api/queries/entities/getEntityPanel.cjs.js");
|
|
51
51
|
const updateEntity = require("../api/queries/entities/updateEntity.cjs.js");
|
|
52
|
+
require("../api/queries/entityLists/getLists.cjs.js");
|
|
53
|
+
require("../api/queries/entityLists/updateLists.cjs.js");
|
|
54
|
+
require("../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
55
|
+
require("../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
52
56
|
require("../api/queries/folders/getFolders.cjs.js");
|
|
53
57
|
require("../api/queries/overview/getOverview.cjs.js");
|
|
54
58
|
require("../api/queries/overview/updateOverview.cjs.js");
|
|
@@ -64,6 +68,7 @@ require("../api/queries/watchers/getWatchers.cjs.js");
|
|
|
64
68
|
require("../context/RemoteModulesContext.cjs.js");
|
|
65
69
|
const DetailsPanelContext = require("../context/DetailsPanelContext.cjs.js");
|
|
66
70
|
require("../context/ThumbnailUploaderContext.cjs.js");
|
|
71
|
+
require("../context/SettingsPanelContext.cjs.js");
|
|
67
72
|
require("../context/pip/PiPProvider.cjs.js");
|
|
68
73
|
require("react-dom");
|
|
69
74
|
require("../context/pip/PiPWrapper.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityUpdate.cjs.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":["useUpdateEntitiesMutation","useDetailsPanelContext","updateEntity","toast"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEntityUpdate.cjs.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":["useUpdateEntitiesMutation","useDetailsPanelContext","updateEntity","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAIA,uCAA0B;AAC7C,QAAA,EAAE,eAAe,IAAIC,2CAAuB;AAQ5C,QAAAC,iBAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACRC,oBAAAA,MAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAED,cAAAA,eAAa;AACxB;;"}
|
|
@@ -47,6 +47,10 @@ import "../api/queries/authentication/getAuthentication.es.js";
|
|
|
47
47
|
import "../api/queries/entities/getEntity.es.js";
|
|
48
48
|
import "../api/queries/entities/getEntityPanel.es.js";
|
|
49
49
|
import { useUpdateEntitiesMutation } from "../api/queries/entities/updateEntity.es.js";
|
|
50
|
+
import "../api/queries/entityLists/getLists.es.js";
|
|
51
|
+
import "../api/queries/entityLists/updateLists.es.js";
|
|
52
|
+
import "../api/queries/entityLists/getListsAttributes.es.js";
|
|
53
|
+
import "../api/queries/entityLists/updateListsAttributes.es.js";
|
|
50
54
|
import "../api/queries/folders/getFolders.es.js";
|
|
51
55
|
import "../api/queries/overview/getOverview.es.js";
|
|
52
56
|
import "../api/queries/overview/updateOverview.es.js";
|
|
@@ -62,6 +66,7 @@ import "../api/queries/watchers/getWatchers.es.js";
|
|
|
62
66
|
import "../context/RemoteModulesContext.es.js";
|
|
63
67
|
import { useDetailsPanelContext } from "../context/DetailsPanelContext.es.js";
|
|
64
68
|
import "../context/ThumbnailUploaderContext.es.js";
|
|
69
|
+
import "../context/SettingsPanelContext.es.js";
|
|
65
70
|
import "../context/pip/PiPProvider.es.js";
|
|
66
71
|
import "react-dom";
|
|
67
72
|
import "../context/pip/PiPWrapper.es.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityUpdate.es.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useEntityUpdate.es.js","sources":["../../../../src/hooks/useEntityUpdate.ts"],"sourcesContent":["import { toast } from 'react-toastify'\nimport { useUpdateEntitiesMutation } from '@shared/api'\nimport { useContext } from 'react'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface Entity {\n id: string\n projectName: string\n users: string[]\n folderId?: string\n productId?: string\n}\n\nexport interface UseEntityUpdateParams {\n entities: Entity[]\n entityType: string\n}\n\n/**\n * Hook for updating entities with proper error handling and version-specific logic\n */\nexport const useEntityUpdate = ({ entities, entityType }: UseEntityUpdateParams) => {\n const [updateEntities] = useUpdateEntitiesMutation()\n const { onUpdateEntity } = useDetailsPanelContext()\n\n /**\n * Updates entities with the specified field and value\n * @param field The field to update\n * @param value The new value for the field\n * @returns Promise that resolves when the update is complete\n */\n const updateEntity = async (field: string, value: any): Promise<void> => {\n if (value === null || value === undefined) {\n console.error('value is null or undefined')\n return\n }\n\n try {\n // Build entities operations array\n const operations = entities.map((entity) => ({\n id: entity.id,\n projectName: entity.projectName,\n data: {\n [field]: value,\n },\n currentAssignees: entity.users,\n meta: {\n folderId: entity.folderId,\n },\n }))\n\n await updateEntities({ operations, entityType })\n onUpdateEntity?.({ operations, entityType })\n } catch (error) {\n toast.error(`Error updating ${entityType}`)\n }\n }\n\n return { updateEntity }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,iBAAwC;AAC5E,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAC7C,QAAA,EAAE,eAAe,IAAI,uBAAuB;AAQ5C,QAAA,eAAe,OAAO,OAAe,UAA8B;AACnE,QAAA,UAAU,QAAQ,UAAU,QAAW;AACzC,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IAAA;AAGE,QAAA;AAEF,YAAM,aAAa,SAAS,IAAI,CAAC,YAAY;AAAA,QAC3C,IAAI,OAAO;AAAA,QACX,aAAa,OAAO;AAAA,QACpB,MAAM;AAAA,UACJ,CAAC,KAAK,GAAG;AAAA,QACX;AAAA,QACA,kBAAkB,OAAO;AAAA,QACzB,MAAM;AAAA,UACJ,UAAU,OAAO;AAAA,QAAA;AAAA,MACnB,EACA;AAEF,YAAM,eAAe,EAAE,YAAY,YAAY;AAC9B,uDAAA,EAAE,YAAY;aACxB,OAAO;AACR,YAAA,MAAM,kBAAkB,UAAU,EAAE;AAAA,IAAA;AAAA,EAE9C;AAEA,SAAO,EAAE,aAAa;AACxB;"}
|