@ynput/ayon-frontend-shared 0.2.29 → 0.2.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +25 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +51 -49
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +220 -213
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +82 -74
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +23 -19
- package/dist/context.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +12 -10
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +11 -9
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +8 -7
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.es.js +9 -2
- package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js +46 -0
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +10 -5
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +23 -18
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/updateAttributes.cjs.js +1 -1
- package/dist/shared/src/api/queries/attributes/updateAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/updateAttributes.es.js +12 -5
- package/dist/shared/src/api/queries/attributes/updateAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +33 -32
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +151 -125
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +2 -0
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +111 -0
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +104 -88
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +7 -6
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -19
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +10 -70
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/updateProject.es.js +35 -61
- package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js +14 -8
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +23 -23
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +18 -17
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.es.js +19 -11
- package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +30 -29
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -3
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +64 -51
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +66 -59
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -5
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +46 -41
- package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +76 -5
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +76 -5
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +11 -11
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +32 -32
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +15 -8
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +51 -152
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +3 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +3 -1
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js +2 -0
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js +141 -0
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -0
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +177 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +31 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +8 -7
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +42 -31
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +12 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +15 -4
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +2 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +2 -1
- package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +116 -105
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +3 -2
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +3 -3
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -5
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -11
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +149 -160
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +20 -19
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +18 -3
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +24 -9
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +7 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +7 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +191 -183
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +280 -57
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +34 -32
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +20 -18
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +48 -45
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +239 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +5 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +57 -55
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +169 -148
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +23 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +24 -5
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +9 -8
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +13 -12
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +61 -41
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useQueryArgumentChangeLoading.cjs.js +2 -0
- package/dist/shared/src/hooks/useQueryArgumentChangeLoading.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useQueryArgumentChangeLoading.es.js +12 -0
- package/dist/shared/src/hooks/useQueryArgumentChangeLoading.es.js.map +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/checkName.cjs.js +1 -1
- package/dist/shared/src/util/checkName.cjs.js.map +1 -1
- package/dist/shared/src/util/checkName.es.js +35 -5
- package/dist/shared/src/util/checkName.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +59 -35
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +13 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +13 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +52 -36
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +103 -83
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
- package/dist/types/api/generated/anatomy.d.ts +23 -0
- package/dist/types/api/generated/attributes.d.ts +15 -4
- package/dist/types/api/generated/entityLists.d.ts +102 -9
- package/dist/types/api/generated/graphql.d.ts +9 -1
- package/dist/types/api/generated/projects.d.ts +8 -0
- package/dist/types/api/queries/attributes/getAttributes.d.ts +1 -0
- package/dist/types/api/queries/attributes/updateAttributes.d.ts +162 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +152 -0
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +5 -0
- package/dist/types/api/queries/entityLists/index.d.ts +1 -0
- package/dist/types/api/queries/entityLists/listFolders.d.ts +613 -0
- package/dist/types/api/queries/entityLists/types.d.ts +3 -1
- package/dist/types/api/queries/entityLists/updateLists.d.ts +5 -0
- package/dist/types/api/queries/entityLists/updateListsAttributes.d.ts +5 -0
- package/dist/types/api/queries/project/getProject.d.ts +4 -305
- package/dist/types/api/queries/project/updateProject.d.ts +803 -0
- package/dist/types/api/queries/users/updateUsers.d.ts +160 -0
- package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
- package/dist/types/components/DetailsPanelDetails/BorderedSection.d.ts +5 -3
- package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +3 -2
- package/dist/types/components/DetailsPanelDetails/index.d.ts +1 -0
- package/dist/types/components/EnumEditor/EnumEditorItem.d.ts +13 -0
- package/dist/types/components/EnumEditor/index.d.ts +1 -0
- package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +11 -0
- package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
- package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
- package/dist/types/components/ListMetaData/index.d.ts +1 -0
- package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +1 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useColumnGroupBy.d.ts +10 -0
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
- package/dist/types/context/AddonProjectContext.d.ts +2 -1
- package/dist/types/context/PowerpackContext.d.ts +4 -2
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useQueryArgumentChangeLoading.d.ts +9 -0
- package/dist/types/util/checkName.d.ts +9 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +34 -32
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleFormDialog.cjs.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\nexport type SimpleFormValue = string | number | boolean | string[] | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index}>{badge}</Badge>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputText","e","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SimpleFormDialog.cjs.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\nexport type SimpleFormValue = string | number | boolean | string[] | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index}>{badge}</Badge>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputText","e","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
|
|
@@ -64,6 +64,7 @@ import "../../api/queries/entityLists/getLists.es.js";
|
|
|
64
64
|
import "../../api/queries/entityLists/updateLists.es.js";
|
|
65
65
|
import "../../api/queries/entityLists/getListsAttributes.es.js";
|
|
66
66
|
import "../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
67
|
+
import "../../api/queries/entityLists/listFolders.es.js";
|
|
67
68
|
import "../../api/queries/folders/getFolders.es.js";
|
|
68
69
|
import "../../api/queries/grouping/getGrouping.es.js";
|
|
69
70
|
import "../../api/queries/links/updateLinks.es.js";
|
|
@@ -107,6 +108,7 @@ import "../../context/AddonProjectContext.es.js";
|
|
|
107
108
|
import "../../context/AddonContext.es.js";
|
|
108
109
|
import "../../context/PowerpackContext.es.js";
|
|
109
110
|
import "../../context/MoveEntityContext.es.js";
|
|
111
|
+
import "../../context/MenuContext.es.js";
|
|
110
112
|
import "../ReviewableCard/ReviewableCard.es.js";
|
|
111
113
|
import "../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
112
114
|
import "../FileThumbnail/FileThumbnail.es.js";
|
|
@@ -191,6 +193,7 @@ import "../EntityPath/EntityPath.styled.es.js";
|
|
|
191
193
|
import "../EntityPath/SegmentProvider.es.js";
|
|
192
194
|
import "../DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
193
195
|
import "../DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
196
|
+
import "../DetailsPanelDetails/DetailsSection.es.js";
|
|
194
197
|
import "../DetailsPanelDetails/FieldLabel.es.js";
|
|
195
198
|
import "../Watchers/Watchers.es.js";
|
|
196
199
|
import "../ProjectTableSettings/ProjectTableSettings.es.js";
|
|
@@ -328,7 +331,7 @@ const K = (r, o) => {
|
|
|
328
331
|
}
|
|
329
332
|
);
|
|
330
333
|
}
|
|
331
|
-
},
|
|
334
|
+
}, Lm = ({
|
|
332
335
|
fields: r,
|
|
333
336
|
values: o,
|
|
334
337
|
onClose: p,
|
|
@@ -394,6 +397,6 @@ const K = (r, o) => {
|
|
|
394
397
|
);
|
|
395
398
|
};
|
|
396
399
|
export {
|
|
397
|
-
|
|
400
|
+
Lm as SimpleFormDialog
|
|
398
401
|
};
|
|
399
402
|
//# sourceMappingURL=SimpleFormDialog.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleFormDialog.es.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\nexport type SimpleFormValue = string | number | boolean | string[] | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index}>{badge}</Badge>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputText","e","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SimpleFormDialog.es.js","sources":["../../../../../src/components/SimpleFormDialog/SimpleFormDialog.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport React, { useState, useEffect } from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport {\n Button,\n Spacer,\n Dialog,\n FormLayout,\n FormRow,\n InputNumber,\n InputText,\n InputSwitch,\n Dropdown,\n DefaultItemTemplate,\n} from '@ynput/ayon-react-components'\nimport { Badge } from '@shared/components'\n\nimport type { FormSelectOption, SimpleFormField } from '@shared/api'\n\nexport type SimpleFormValue = string | number | boolean | string[] | null | undefined\nexport type SimpleFormValueDict = Record<string, SimpleFormValue>\n\nconst getDefaults = (fields: SimpleFormField[], values: SimpleFormValueDict) => {\n const defaults: SimpleFormValueDict = {}\n fields.forEach((field) => {\n if (field.name in values) {\n defaults[field.name] = values[field.name]\n } else if (field.value) {\n defaults[field.name] = field.value\n } else if (field.type === 'boolean') {\n defaults[field.name] = false\n } else if (field.type === 'integer') {\n defaults[field.name] = 0\n } else if (field.type === 'float') {\n defaults[field.name] = 0.0\n } else if (field.type === 'text') {\n defaults[field.name] = ''\n } else if (field.type === 'multiselect') {\n defaults[field.name] = []\n }\n })\n return defaults\n}\n\nconst LabelContainer = styled.div`\n &.normal {\n // maybe something here\n }\n\n &.info,\n &.warning,\n &.error {\n padding: 0.5rem;\n text-align: center;\n font-weight: bold;\n margin: 1rem 0;\n }\n\n &.info {\n background-color: var(--md-sys-color-on-secondary-dark);\n }\n &.warning {\n background-color: var(--md-sys-color-warning-container-dark);\n }\n &.error {\n background-color: var(--md-sys-color-on-error-dark);\n }\n`\n\ntype FormLabelProps = {\n field: SimpleFormField\n}\n\nconst FormLabel = ({ field }: FormLabelProps) => {\n const text = typeof field.value === 'string' ? field.value : 'Invalid label value'\n\n return (\n <LabelContainer className={field.highlight || 'normal'}>\n <ReactMarkdown>{text}</ReactMarkdown>\n </LabelContainer>\n )\n}\n\ntype FormFieldProps = {\n field: SimpleFormField\n value: SimpleFormValue\n onChange: (value: SimpleFormValue) => void\n}\n\nconst DropdownItemTemplate = (option: FormSelectOption) => {\n const endContent = (\n <>\n <div style={{ flex: 1 }} />\n {option.badges && option.badges.map((badge, index) => <Badge key={index}>{badge}</Badge>)}\n </>\n )\n return (\n <DefaultItemTemplate\n option={option}\n dataKey={'value'}\n labelKey={'label'}\n value={[option.value]}\n endContent={endContent}\n />\n )\n}\n\nconst FormField = ({ field, value, onChange }: FormFieldProps) => {\n if (field.type === 'text') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <InputText\n value={parsedValue}\n onChange={(e) => onChange(e.target.value)}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'boolean') {\n const parsedValue = typeof value === 'boolean' ? value : false\n\n const handleCheckboxEvent = (\n event: React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>,\n ) => {\n if ('target' in event && 'checked' in event.target) {\n onChange((event.target as HTMLInputElement).checked)\n }\n }\n\n return <InputSwitch checked={parsedValue} onChange={handleCheckboxEvent} />\n }\n if (field.type === 'integer') {\n const parsedValue = typeof value === 'number' ? value : 0\n return (\n <InputNumber\n value={parsedValue}\n onChange={(e) => onChange(parseInt(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n if (field.type === 'float') {\n const parsedValue = typeof value === 'number' ? value : 0.0\n return (\n <InputNumber\n type=\"number\"\n value={parsedValue}\n onChange={(e) => onChange(parseFloat(e.target.value))}\n placeholder={field.placeholder || ''}\n />\n )\n }\n\n if (field.type === 'select') {\n const parsedValue = typeof value === 'string' ? value : ''\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue ? [parsedValue] : []}\n onSelectionChange={(e) => onChange(e[0])}\n className={`form-field`}\n multiSelect={false}\n itemTemplate={DropdownItemTemplate}\n />\n )\n } // Handle select\n\n if (field.type === 'multiselect') {\n const parsedValue = Array.isArray(value) ? value : []\n return (\n <Dropdown\n widthExpand\n options={field.options || []}\n value={parsedValue}\n onSelectionChange={(e) => onChange(e)}\n className={`form-field`}\n multiSelect={true}\n itemTemplate={DropdownItemTemplate}\n />\n )\n }\n}\n\nexport interface SimpleFormDialogProps {\n title: string\n fields: SimpleFormField[]\n values?: SimpleFormValueDict\n submitLabel?: string\n cancelLabel?: string\n submitIcon?: string\n cancelIcon?: string\n onClose: () => void\n onSubmit: (values: SimpleFormValueDict) => void\n isOpen: boolean\n}\n\nexport const SimpleFormDialog = ({\n fields,\n values,\n onClose,\n onSubmit,\n isOpen,\n title,\n submitLabel,\n cancelLabel,\n submitIcon,\n cancelIcon,\n}: SimpleFormDialogProps) => {\n const [formData, setFormData] = useState<SimpleFormValueDict | null>(null)\n\n useEffect(() => {\n if (isOpen) {\n const defaults = getDefaults(fields, values || {})\n setFormData(defaults)\n }\n }, [isOpen, fields, values])\n\n if (!isOpen) return null\n if (!formData) return null\n\n const footer = (\n <div style={{ display: 'flex', flexDirection: 'row', gap: 8 }}>\n <Spacer />\n {cancelLabel && <Button onClick={() => onClose()} label={cancelLabel} icon={cancelIcon} />}\n {submitLabel && (\n <Button\n onClick={() => onSubmit(formData)}\n label={submitLabel}\n icon={submitIcon}\n variant=\"filled\"\n />\n )}\n </div>\n )\n\n return (\n <Dialog\n isOpen={isOpen}\n onClose={onClose}\n header={title}\n footer={footer}\n style={{ minHeight: 500, minWidth: 600 }}\n >\n <FormLayout\n style={{ width: '95%' }}\n onKeyDown={(e) => {\n e.stopPropagation()\n }}\n >\n {fields.map((field: SimpleFormField) => {\n if (field.type === 'label') {\n return <FormLabel key={field.name} field={field} />\n }\n\n return (\n <FormRow key={field.name} label={field.label || ''}>\n <FormField\n field={field}\n value={formData[field.name]}\n onChange={(value) => {\n setFormData((prev) => ({\n ...prev,\n [field.name]: value,\n }))\n }}\n />\n </FormRow>\n )\n })}\n </FormLayout>\n </Dialog>\n )\n}\n"],"names":["getDefaults","fields","values","defaults","field","LabelContainer","styled","FormLabel","text","jsx","ReactMarkdown","DropdownItemTemplate","option","endContent","jsxs","Fragment","badge","index","Badge","DefaultItemTemplate","FormField","value","onChange","parsedValue","InputText","e","handleCheckboxEvent","event","InputSwitch","InputNumber","Dropdown","SimpleFormDialog","onClose","onSubmit","isOpen","title","submitLabel","cancelLabel","submitIcon","cancelIcon","formData","setFormData","useState","useEffect","footer","Spacer","Button","Dialog","FormLayout","FormRow","prev"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),n=require("styled-components"),p=require("./Thumbnail.cjs.js"),x=require("clsx");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");const q=require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");const g=n.div`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),n=require("styled-components"),p=require("./Thumbnail.cjs.js"),x=require("clsx");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");const q=require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");const g=n.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
z-index: 10;
|
|
4
4
|
height: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedThumbnails.cjs.js","sources":["../../../../../src/components/Thumbnail/StackedThumbnails.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport styled, { css } from 'styled-components'\nimport { Thumbnail } from './Thumbnail'\nimport clsx from 'clsx'\nimport { ThumbnailUploadContext } from '@shared/context'\nimport { ThumbnailProps } from '@shared/components'\n\ntype StackedStyledProps = {\n $length: number\n}\n\nconst StackedStyled = styled.div<StackedStyledProps>`\n display: flex;\n z-index: 10;\n height: 100%;\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n min-width: min-content;\n cursor: pointer;\n\n &.stacking {\n & > * {\n margin: unset;\n aspect-ratio: 1;\n border: solid 2px var(--md-sys-color-outline-variant);\n border-radius: 8px;\n\n span {\n font-size: 24px;\n }\n\n ${({ $length }) =>\n $length > 1 &&\n css`\n :not(:last-child) {\n box-shadow: 0 0 4px 0px black;\n }\n `}\n }\n\n /* create stacked effect */\n & > * + * {\n margin-left: ${({ $length }) => `${Math.max(-20, -$length * 1.5 - 8)}px`};\n }\n\n .thumbnail img {\n object-fit: cover;\n }\n }\n`\n\ntype Thumbnail = {\n id?: string\n type?: string\n projectName?: string\n icon?: string\n updatedAt?: string\n src?: string\n}\n\nexport interface StackedThumbnailsProps\n extends Omit<ThumbnailProps, 'entityType' | 'entityId' | 'projectName'> {\n thumbnails?: Thumbnail[]\n isLoading?: boolean\n className?: string\n style?: React.CSSProperties\n}\n\nexport const StackedThumbnails = ({\n thumbnails = [],\n isLoading,\n className,\n style,\n ...props\n}: StackedThumbnailsProps) => {\n const { onContextMenu } = useContext(ThumbnailUploadContext)\n // limit to 5 users\n thumbnails = thumbnails.slice(0, 5)\n const isStacking = thumbnails.length > 1\n\n if (!thumbnails.length) return null\n\n return (\n <StackedStyled\n $length={thumbnails.length}\n className={clsx('stacked-thumbnails', className, { stacking: isStacking })}\n >\n {thumbnails.map((thumb, i) =>\n thumb ? (\n <Thumbnail\n projectName={thumb.projectName}\n entityType={thumb.type}\n entityId={thumb.id}\n icon={thumb.icon}\n key={thumb.id || thumb.src || i}\n style={{ ...style, zIndex: -i }}\n entityUpdatedAt={thumb.updatedAt}\n isLoading={isLoading}\n src={thumb.src}\n // @ts-ignore\n onContextMenu={onContextMenu}\n {...props}\n />\n ) : null,\n )}\n </StackedStyled>\n )\n}\n"],"names":["StackedStyled","styled","$length","css","StackedThumbnails","thumbnails","isLoading","className","style","props","onContextMenu","useContext","ThumbnailUploadContext","isStacking","jsx","clsx","thumb","i","Thumbnail"],"mappings":"
|
|
1
|
+
{"version":3,"file":"StackedThumbnails.cjs.js","sources":["../../../../../src/components/Thumbnail/StackedThumbnails.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport styled, { css } from 'styled-components'\nimport { Thumbnail } from './Thumbnail'\nimport clsx from 'clsx'\nimport { ThumbnailUploadContext } from '@shared/context'\nimport { ThumbnailProps } from '@shared/components'\n\ntype StackedStyledProps = {\n $length: number\n}\n\nconst StackedStyled = styled.div<StackedStyledProps>`\n display: flex;\n z-index: 10;\n height: 100%;\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n min-width: min-content;\n cursor: pointer;\n\n &.stacking {\n & > * {\n margin: unset;\n aspect-ratio: 1;\n border: solid 2px var(--md-sys-color-outline-variant);\n border-radius: 8px;\n\n span {\n font-size: 24px;\n }\n\n ${({ $length }) =>\n $length > 1 &&\n css`\n :not(:last-child) {\n box-shadow: 0 0 4px 0px black;\n }\n `}\n }\n\n /* create stacked effect */\n & > * + * {\n margin-left: ${({ $length }) => `${Math.max(-20, -$length * 1.5 - 8)}px`};\n }\n\n .thumbnail img {\n object-fit: cover;\n }\n }\n`\n\ntype Thumbnail = {\n id?: string\n type?: string\n projectName?: string\n icon?: string\n updatedAt?: string\n src?: string\n}\n\nexport interface StackedThumbnailsProps\n extends Omit<ThumbnailProps, 'entityType' | 'entityId' | 'projectName'> {\n thumbnails?: Thumbnail[]\n isLoading?: boolean\n className?: string\n style?: React.CSSProperties\n}\n\nexport const StackedThumbnails = ({\n thumbnails = [],\n isLoading,\n className,\n style,\n ...props\n}: StackedThumbnailsProps) => {\n const { onContextMenu } = useContext(ThumbnailUploadContext)\n // limit to 5 users\n thumbnails = thumbnails.slice(0, 5)\n const isStacking = thumbnails.length > 1\n\n if (!thumbnails.length) return null\n\n return (\n <StackedStyled\n $length={thumbnails.length}\n className={clsx('stacked-thumbnails', className, { stacking: isStacking })}\n >\n {thumbnails.map((thumb, i) =>\n thumb ? (\n <Thumbnail\n projectName={thumb.projectName}\n entityType={thumb.type}\n entityId={thumb.id}\n icon={thumb.icon}\n key={thumb.id || thumb.src || i}\n style={{ ...style, zIndex: -i }}\n entityUpdatedAt={thumb.updatedAt}\n isLoading={isLoading}\n src={thumb.src}\n // @ts-ignore\n onContextMenu={onContextMenu}\n {...props}\n />\n ) : null,\n )}\n </StackedStyled>\n )\n}\n"],"names":["StackedStyled","styled","$length","css","StackedThumbnails","thumbnails","isLoading","className","style","props","onContextMenu","useContext","ThumbnailUploadContext","isStacking","jsx","clsx","thumb","i","Thumbnail"],"mappings":"kzBAWA,MAAMA,EAAgBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAqBrB,CAAC,CAAE,QAAAC,CAAQ,IACXA,EAAU,GACVC,EAAA;AAAA;AAAA;AAAA;AAAA,SAIC;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKY,CAAC,CAAE,QAAAD,CAAQ,IAAM,GAAG,KAAK,IAAI,IAAK,CAACA,EAAU,IAAM,CAAC,CAAC,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BjEE,EAAoB,CAAC,CAChC,WAAAC,EAAa,CAAC,EACd,UAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,IAA8B,CAC5B,KAAM,CAAE,cAAAC,CAAA,EAAkBC,EAAA,WAAWC,wBAAsB,EAE9CP,EAAAA,EAAW,MAAM,EAAG,CAAC,EAC5B,MAAAQ,EAAaR,EAAW,OAAS,EAEnC,OAACA,EAAW,OAGdS,EAAA,kBAAA,IAACd,EAAA,CACC,QAASK,EAAW,OACpB,UAAWU,EAAK,qBAAsBR,EAAW,CAAE,SAAUM,EAAY,EAExE,SAAWR,EAAA,IAAI,CAACW,EAAOC,IACtBD,EACEF,EAAA,kBAAA,IAACI,EAAA,UAAA,CACC,YAAaF,EAAM,YACnB,WAAYA,EAAM,KAClB,SAAUA,EAAM,GAChB,KAAMA,EAAM,KAEZ,MAAO,CAAE,GAAGR,EAAO,OAAQ,CAACS,CAAE,EAC9B,gBAAiBD,EAAM,UACvB,UAAAV,EACA,IAAKU,EAAM,IAEX,cAAAN,EACC,GAAGD,CAAA,EAPCO,EAAM,IAAMA,EAAM,KAAOC,CAAA,EAS9B,IAAA,CACN,CACF,EAzB6B,IA2BjC"}
|
|
@@ -14,6 +14,7 @@ import "../../context/AddonProjectContext.es.js";
|
|
|
14
14
|
import "../../context/AddonContext.es.js";
|
|
15
15
|
import "../../context/PowerpackContext.es.js";
|
|
16
16
|
import "../../context/MoveEntityContext.es.js";
|
|
17
|
+
import "../../context/MenuContext.es.js";
|
|
17
18
|
const y = l.div`
|
|
18
19
|
display: flex;
|
|
19
20
|
z-index: 10;
|
|
@@ -51,7 +52,7 @@ const y = l.div`
|
|
|
51
52
|
object-fit: cover;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
`,
|
|
55
|
+
`, R = ({
|
|
55
56
|
thumbnails: t = [],
|
|
56
57
|
isLoading: i,
|
|
57
58
|
className: n,
|
|
@@ -67,27 +68,27 @@ const y = l.div`
|
|
|
67
68
|
$length: t.length,
|
|
68
69
|
className: f("stacked-thumbnails", n, { stacking: c }),
|
|
69
70
|
children: t.map(
|
|
70
|
-
(
|
|
71
|
+
(o, e) => o ? /* @__PURE__ */ r.jsx(
|
|
71
72
|
x,
|
|
72
73
|
{
|
|
73
|
-
projectName:
|
|
74
|
-
entityType:
|
|
75
|
-
entityId:
|
|
76
|
-
icon:
|
|
77
|
-
style: { ...p, zIndex: -
|
|
78
|
-
entityUpdatedAt:
|
|
74
|
+
projectName: o.projectName,
|
|
75
|
+
entityType: o.type,
|
|
76
|
+
entityId: o.id,
|
|
77
|
+
icon: o.icon,
|
|
78
|
+
style: { ...p, zIndex: -e },
|
|
79
|
+
entityUpdatedAt: o.updatedAt,
|
|
79
80
|
isLoading: i,
|
|
80
|
-
src:
|
|
81
|
+
src: o.src,
|
|
81
82
|
onContextMenu: a,
|
|
82
83
|
...s
|
|
83
84
|
},
|
|
84
|
-
|
|
85
|
+
o.id || o.src || e
|
|
85
86
|
) : null
|
|
86
87
|
)
|
|
87
88
|
}
|
|
88
89
|
) : null;
|
|
89
90
|
};
|
|
90
91
|
export {
|
|
91
|
-
|
|
92
|
+
R as StackedThumbnails
|
|
92
93
|
};
|
|
93
94
|
//# sourceMappingURL=StackedThumbnails.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedThumbnails.es.js","sources":["../../../../../src/components/Thumbnail/StackedThumbnails.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport styled, { css } from 'styled-components'\nimport { Thumbnail } from './Thumbnail'\nimport clsx from 'clsx'\nimport { ThumbnailUploadContext } from '@shared/context'\nimport { ThumbnailProps } from '@shared/components'\n\ntype StackedStyledProps = {\n $length: number\n}\n\nconst StackedStyled = styled.div<StackedStyledProps>`\n display: flex;\n z-index: 10;\n height: 100%;\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n min-width: min-content;\n cursor: pointer;\n\n &.stacking {\n & > * {\n margin: unset;\n aspect-ratio: 1;\n border: solid 2px var(--md-sys-color-outline-variant);\n border-radius: 8px;\n\n span {\n font-size: 24px;\n }\n\n ${({ $length }) =>\n $length > 1 &&\n css`\n :not(:last-child) {\n box-shadow: 0 0 4px 0px black;\n }\n `}\n }\n\n /* create stacked effect */\n & > * + * {\n margin-left: ${({ $length }) => `${Math.max(-20, -$length * 1.5 - 8)}px`};\n }\n\n .thumbnail img {\n object-fit: cover;\n }\n }\n`\n\ntype Thumbnail = {\n id?: string\n type?: string\n projectName?: string\n icon?: string\n updatedAt?: string\n src?: string\n}\n\nexport interface StackedThumbnailsProps\n extends Omit<ThumbnailProps, 'entityType' | 'entityId' | 'projectName'> {\n thumbnails?: Thumbnail[]\n isLoading?: boolean\n className?: string\n style?: React.CSSProperties\n}\n\nexport const StackedThumbnails = ({\n thumbnails = [],\n isLoading,\n className,\n style,\n ...props\n}: StackedThumbnailsProps) => {\n const { onContextMenu } = useContext(ThumbnailUploadContext)\n // limit to 5 users\n thumbnails = thumbnails.slice(0, 5)\n const isStacking = thumbnails.length > 1\n\n if (!thumbnails.length) return null\n\n return (\n <StackedStyled\n $length={thumbnails.length}\n className={clsx('stacked-thumbnails', className, { stacking: isStacking })}\n >\n {thumbnails.map((thumb, i) =>\n thumb ? (\n <Thumbnail\n projectName={thumb.projectName}\n entityType={thumb.type}\n entityId={thumb.id}\n icon={thumb.icon}\n key={thumb.id || thumb.src || i}\n style={{ ...style, zIndex: -i }}\n entityUpdatedAt={thumb.updatedAt}\n isLoading={isLoading}\n src={thumb.src}\n // @ts-ignore\n onContextMenu={onContextMenu}\n {...props}\n />\n ) : null,\n )}\n </StackedStyled>\n )\n}\n"],"names":["StackedStyled","styled","$length","css","StackedThumbnails","thumbnails","isLoading","className","style","props","onContextMenu","useContext","ThumbnailUploadContext","isStacking","jsx","clsx","thumb","i","Thumbnail"],"mappings":"
|
|
1
|
+
{"version":3,"file":"StackedThumbnails.es.js","sources":["../../../../../src/components/Thumbnail/StackedThumbnails.tsx"],"sourcesContent":["import React, { useContext } from 'react'\nimport styled, { css } from 'styled-components'\nimport { Thumbnail } from './Thumbnail'\nimport clsx from 'clsx'\nimport { ThumbnailUploadContext } from '@shared/context'\nimport { ThumbnailProps } from '@shared/components'\n\ntype StackedStyledProps = {\n $length: number\n}\n\nconst StackedStyled = styled.div<StackedStyledProps>`\n display: flex;\n z-index: 10;\n height: 100%;\n position: relative;\n overflow: hidden;\n border-radius: 8px;\n min-width: min-content;\n cursor: pointer;\n\n &.stacking {\n & > * {\n margin: unset;\n aspect-ratio: 1;\n border: solid 2px var(--md-sys-color-outline-variant);\n border-radius: 8px;\n\n span {\n font-size: 24px;\n }\n\n ${({ $length }) =>\n $length > 1 &&\n css`\n :not(:last-child) {\n box-shadow: 0 0 4px 0px black;\n }\n `}\n }\n\n /* create stacked effect */\n & > * + * {\n margin-left: ${({ $length }) => `${Math.max(-20, -$length * 1.5 - 8)}px`};\n }\n\n .thumbnail img {\n object-fit: cover;\n }\n }\n`\n\ntype Thumbnail = {\n id?: string\n type?: string\n projectName?: string\n icon?: string\n updatedAt?: string\n src?: string\n}\n\nexport interface StackedThumbnailsProps\n extends Omit<ThumbnailProps, 'entityType' | 'entityId' | 'projectName'> {\n thumbnails?: Thumbnail[]\n isLoading?: boolean\n className?: string\n style?: React.CSSProperties\n}\n\nexport const StackedThumbnails = ({\n thumbnails = [],\n isLoading,\n className,\n style,\n ...props\n}: StackedThumbnailsProps) => {\n const { onContextMenu } = useContext(ThumbnailUploadContext)\n // limit to 5 users\n thumbnails = thumbnails.slice(0, 5)\n const isStacking = thumbnails.length > 1\n\n if (!thumbnails.length) return null\n\n return (\n <StackedStyled\n $length={thumbnails.length}\n className={clsx('stacked-thumbnails', className, { stacking: isStacking })}\n >\n {thumbnails.map((thumb, i) =>\n thumb ? (\n <Thumbnail\n projectName={thumb.projectName}\n entityType={thumb.type}\n entityId={thumb.id}\n icon={thumb.icon}\n key={thumb.id || thumb.src || i}\n style={{ ...style, zIndex: -i }}\n entityUpdatedAt={thumb.updatedAt}\n isLoading={isLoading}\n src={thumb.src}\n // @ts-ignore\n onContextMenu={onContextMenu}\n {...props}\n />\n ) : null,\n )}\n </StackedStyled>\n )\n}\n"],"names":["StackedStyled","styled","$length","css","StackedThumbnails","thumbnails","isLoading","className","style","props","onContextMenu","useContext","ThumbnailUploadContext","isStacking","jsx","clsx","thumb","i","Thumbnail"],"mappings":";;;;;;;;;;;;;;;;;AAWA,MAAMA,IAAgBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAqBrB,CAAC,EAAE,SAAAC,EAAQ,MACXA,IAAU,KACVC;AAAA;AAAA;AAAA;AAAA,SAIC;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKY,CAAC,EAAE,SAAAD,EAAQ,MAAM,GAAG,KAAK,IAAI,KAAK,CAACA,IAAU,MAAM,CAAC,CAAC,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0BjEE,IAAoB,CAAC;AAAA,EAChC,YAAAC,IAAa,CAAC;AAAA,EACd,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,MAA8B;AAC5B,QAAM,EAAE,eAAAC,EAAA,IAAkBC,EAAWC,CAAsB;AAE9C,EAAAP,IAAAA,EAAW,MAAM,GAAG,CAAC;AAC5B,QAAAQ,IAAaR,EAAW,SAAS;AAEnC,SAACA,EAAW,SAGdS,gBAAAA,EAAA;AAAA,IAACd;AAAA,IAAA;AAAA,MACC,SAASK,EAAW;AAAA,MACpB,WAAWU,EAAK,sBAAsBR,GAAW,EAAE,UAAUM,GAAY;AAAA,MAExE,UAAWR,EAAA;AAAA,QAAI,CAACW,GAAOC,MACtBD,IACEF,gBAAAA,EAAA;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,aAAaF,EAAM;AAAA,YACnB,YAAYA,EAAM;AAAA,YAClB,UAAUA,EAAM;AAAA,YAChB,MAAMA,EAAM;AAAA,YAEZ,OAAO,EAAE,GAAGR,GAAO,QAAQ,CAACS,EAAE;AAAA,YAC9B,iBAAiBD,EAAM;AAAA,YACvB,WAAAV;AAAA,YACA,KAAKU,EAAM;AAAA,YAEX,eAAAN;AAAA,YACC,GAAGD;AAAA,UAAA;AAAA,UAPCO,EAAM,MAAMA,EAAM,OAAOC;AAAA,QAAA,IAS9B;AAAA,MAAA;AAAA,IACN;AAAA,EACF,IAzB6B;AA2BjC;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),s=require("styled-components"),q=require("@ynput/ayon-react-components"),t=require("../../../util/productTypes.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("clsx");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const I=require("../../ReviewablesList/ReviewablesUpload.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("axios");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("date-fns");require("../../../containers/ProjectTreeTable/ProjectTreeTable.cjs.js");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/context/ViewsContext.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/PricingLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../AttributeEditor/components/MinMaxField.cjs.js");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("../../Badge/Badge.cjs.js");require("./UploadVersionDialog.cjs.js");const L=require("../context/VersionUploadContext.cjs.js");require("../../Feedback/FeedbackContext.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../Chips/Chips.cjs.js");require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../StyledLink/StyledLink.cjs.js");const O=s.form`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../../../../_virtual/jsx-runtime.cjs.js"),d=require("react"),s=require("styled-components"),q=require("@ynput/ayon-react-components"),t=require("../../../util/productTypes.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("clsx");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */const I=require("../../ReviewablesList/ReviewablesUpload.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("axios");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("date-fns");require("../../../containers/ProjectTreeTable/ProjectTreeTable.cjs.js");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/context/ViewsContext.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/PricingLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../AttributeEditor/components/MinMaxField.cjs.js");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("../../Badge/Badge.cjs.js");require("./UploadVersionDialog.cjs.js");const L=require("../context/VersionUploadContext.cjs.js");require("../../Feedback/FeedbackContext.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../Chips/Chips.cjs.js");require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../StyledLink/StyledLink.cjs.js");const O=s.form`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: var(--base-gap-large);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadVersionForm.cjs.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useRef } from 'react'\nimport styled from 'styled-components'\nimport { FormLayout, FormRow, InputText, InputNumber, Dropdown } from '@ynput/ayon-react-components'\nimport { productTypes } from '@shared/util'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n } = useVersionUploadContext()\n\n const productTypeOptions = Object.entries(productTypes).map(([key, value]) => ({\n value: key,\n label: value.name,\n icon: value.icon,\n }))\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label=\"Version\">\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label=\"Version Number\"\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n </StyledFormLayout>\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","useVersionUploadContext","productTypeOptions","productTypes","key","value","useEffect","previousProductType","previousProductTypeName","_a","currentProductTypeName","_b","suffix","newName","handleSubmit","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","ReviewableUpload"],"mappings":"8pZAQA,MAAMA,EAAaC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpBC,EAAmBD,EAAOE,YAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAapCC,EAAqBH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5BI,EAAeJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAetBK,EAAeL,EAAO;AAAA;AAAA;AAAA,EAsBfM,EAAgD,CAAC,CAC5D,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,OAAAC,EAAS,CAAC,EACV,YAAAC,EACA,WAAAC,EAAa,EACb,UAAAC,EACA,UAAAC,CACF,IAAM,OACE,MAAAC,EAAyBC,EAAAA,OAAeT,EAAS,WAAW,EAC5DU,EAAcD,SAAoB,IAAI,EACtCE,EAAUF,SAAwB,IAAI,EACtC,CACJ,aAAAG,EACA,gBAAAC,EACA,qBAAAC,EACA,8BAAAC,EACA,SAAAC,GACEC,0BAAwB,EAEtBC,EAAqB,OAAO,QAAQC,CAAY,EAAE,IAAI,CAAC,CAACC,EAAKC,CAAK,KAAO,CAC7E,MAAOD,EACP,MAAOC,EAAM,KACb,KAAMA,EAAM,IAAA,EACZ,EAEFC,EAAAA,UAAU,IAAM,SAEd,MAAMC,EAAsBf,EAAuB,QAC7CgB,IAA0BC,EAAAN,EAAaI,CAAmB,IAAhC,YAAAE,EAAmC,OAAQ,GACrEC,IAAyBC,EAAAR,EAAanB,EAAS,WAAW,IAAjC,YAAA2B,EAAoC,OAAQ,GAGvE,GAAA3B,EAAS,cAAgBuB,GAAuBC,GAE9CxB,EAAS,KAAK,WAAWwB,CAAuB,EAAG,CAErD,MAAMI,EAAS5B,EAAS,KAAK,MAAMwB,EAAwB,MAAM,EAE3DK,EAAUH,EAAyBE,EACzC3B,EAAS,OAAQ4B,CAAO,CAAA,CAK5BrB,EAAuB,QAAUR,EAAS,WAAA,EACzC,CAACA,EAAS,YAAaA,EAAS,KAAMC,CAAQ,CAAC,EAE5C,MAAA6B,EAAgB,GAAkC,CACtD,EAAE,eAAe,EAEX,MAAAC,EAAY,EAAE,YAAY,UAE5BA,GAAaA,EAAU,QAAQ,WAAW,GAK9C7B,EAASF,CAAQ,CACnB,EAEMgC,EAAuB,GAA2C,CACtE,MAAMX,EAAQ,SAAS,EAAE,OAAO,MAAO,EAAE,EACpC,MAAMA,CAAK,GACdpB,EAAS,UAAWoB,CAAK,CAE7B,EAEMY,EAAoB,GAA2C,CAC1DhC,EAAA,OAAQ,EAAE,OAAO,KAAK,CACjC,EAEMiC,EAA2Bb,GAAoB,CAC/CA,EAAM,OAAS,GACRpB,EAAA,cAAeoB,EAAM,CAAC,CAAC,CAGpC,EAEMc,EAAoB,IAAM,OAC9B,MAAMT,IAAyBD,EAAAN,EAAanB,EAAS,WAAW,IAAjC,YAAAyB,EAAoC,OAAQ,GACrEW,EAAcpC,EAAS,MAAQ,GAG/BqC,EAAkBD,EAAY,OAAO,CAAC,EAAE,cAAgBA,EAAY,MAAM,CAAC,EAC3EP,EAAUH,EAAyBW,EACzCpC,EAAS,OAAQ4B,CAAO,CAC1B,EAEMS,EAA2B,IAAM,OACrC,MAAMZ,IAAyBD,EAAAN,EAAanB,EAAS,WAAW,IAAjC,YAAAyB,EAAoC,OAAQ,GAC3E,OAAOzB,EAAS,MAAQ,CAACA,EAAS,KAAK,WAAW0B,CAAsB,CAC1E,EAGMa,EAAkB,EAAQjC,EAE1BkC,EAAiB,GAA4C,CAEjE,GAAI,EAAE,MAAQ,UAAY,EAAE,SAAW,EAAE,SAAU,CACjD,EAAE,eAAe,EACjBtC,EAASF,CAAQ,EACjB,MAAA,CAEJ,EAGE,OAAAyC,EAAA,kBAAA,KAACjD,EAAA,CACC,GAAG,sBACH,IAAKmB,EACL,SAAUmB,EACV,WAAU,GACV,UAAWU,EAEX,SAAA,CAAAC,yBAAC/C,EACE,CAAA,SAAA,CAAA,CAACS,EAAO,SAAS,aAAa,GAC5BuC,EAAAA,kBAAAA,IAAAC,EAAA,QAAA,CAAQ,MAAM,eACb,SAAAD,EAAA,kBAAA,IAACE,EAAA,SAAA,CACC,IAAKlC,EACL,QAASQ,EACT,MAAO,CAAClB,EAAS,WAAW,EAC5B,SAAUkC,EACV,YAAW,GACX,YAAa,GACb,aAAW,eACX,OAAM,GACN,SAAUK,CAAA,CAAA,EAEd,EAGD,CAACpC,EAAO,SAAS,MAAM,2BACrBwC,EAAQ,QAAA,CAAA,MAAM,eACb,SAAAF,EAAA,kBAAA,KAAC,MACC,CAAA,SAAA,CAAAC,EAAA,kBAAA,IAACG,EAAA,UAAA,CACC,MAAO7C,EAAS,KAChB,SAAUiC,EACV,YAAY,qBACZ,UAAW,EACX,UAAS,GACT,aAAW,eACX,mBAAkBK,IAA6B,sBAAwB,OACvE,SAAUC,CAAA,CACZ,EACCD,EAAyB,GACvBG,EAAAA,kBAAAA,KAAA7C,EAAA,CAAmB,GAAG,sBAAsB,SAAA,CAAA,iCACb6B,EAAAN,EAAanB,EAAS,WAAW,IAAjC,YAAAyB,EAAoC,KAAK,KAAG,4BACzE5B,EAAa,CAAA,KAAK,SAAS,QAASsC,EAAmB,SAExD,cAAA,CAAA,CAAA,CACF,CAAA,CAAA,CAAA,CAEJ,CACF,CAAA,EAGD,CAAChC,EAAO,SAAS,SAAS,GACxBuC,EAAAA,kBAAAA,IAAAC,EAAA,QAAA,CAAQ,MAAM,UACb,SAAAD,EAAA,kBAAA,IAACI,EAAA,YAAA,CACC,MAAO9C,EAAS,QAChB,SAAUgC,EACV,IAAK3B,EACL,KAAM,EACN,aAAW,iBACX,UAAWF,EAAO,SAAS,MAAM,EACjC,SAAUoC,CAAA,CAAA,CAEd,CAAA,CAAA,EAEJ,EAEAG,EAAAA,kBAAAA,IAACC,EAAQ,QAAA,CAAA,MAAM,kBAAmB,CAAA,0BACjC7C,EACC,CAAA,SAAA4C,EAAA,kBAAA,IAACK,EAAA,iBAAA,CACC,YAAA3C,EACA,UAAAE,EACA,UAAAC,EACA,SAAAS,EACA,aAAAJ,EACA,gBAAAC,EACA,SAAUC,EACV,aAAcC,EACd,GAAI,CACF,OAAQ,CACN,MAAO,CAAE,UAAW,EAAG,CACzB,EACA,SAAU,CACR,MAAO,CAAE,MAAO,CAAE,CAAA,CACpB,CACF,CAAA,CAEJ,CAAA,CAAA,CAAA,CACF,CAEJ"}
|
|
1
|
+
{"version":3,"file":"UploadVersionForm.cjs.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useRef } from 'react'\nimport styled from 'styled-components'\nimport { FormLayout, FormRow, InputText, InputNumber, Dropdown } from '@ynput/ayon-react-components'\nimport { productTypes } from '@shared/util'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n } = useVersionUploadContext()\n\n const productTypeOptions = Object.entries(productTypes).map(([key, value]) => ({\n value: key,\n label: value.name,\n icon: value.icon,\n }))\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label=\"Version\">\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label=\"Version Number\"\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n </StyledFormLayout>\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","useVersionUploadContext","productTypeOptions","productTypes","key","value","useEffect","previousProductType","previousProductTypeName","_a","currentProductTypeName","_b","suffix","newName","handleSubmit","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","ReviewableUpload"],"mappings":"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"}
|
|
@@ -67,6 +67,7 @@ import "../../../api/queries/entityLists/getLists.es.js";
|
|
|
67
67
|
import "../../../api/queries/entityLists/updateLists.es.js";
|
|
68
68
|
import "../../../api/queries/entityLists/getListsAttributes.es.js";
|
|
69
69
|
import "../../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
70
|
+
import "../../../api/queries/entityLists/listFolders.es.js";
|
|
70
71
|
import "../../../api/queries/folders/getFolders.es.js";
|
|
71
72
|
import "../../../api/queries/grouping/getGrouping.es.js";
|
|
72
73
|
import "../../../api/queries/links/updateLinks.es.js";
|
|
@@ -106,6 +107,7 @@ import "../../../context/AddonProjectContext.es.js";
|
|
|
106
107
|
import "../../../context/AddonContext.es.js";
|
|
107
108
|
import "../../../context/PowerpackContext.es.js";
|
|
108
109
|
import "../../../context/MoveEntityContext.es.js";
|
|
110
|
+
import "../../../context/MenuContext.es.js";
|
|
109
111
|
import "axios";
|
|
110
112
|
import "../../ReviewableCard/ReviewableCard.es.js";
|
|
111
113
|
import "../../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
@@ -193,6 +195,7 @@ import "../../EntityPath/EntityPath.styled.es.js";
|
|
|
193
195
|
import "../../EntityPath/SegmentProvider.es.js";
|
|
194
196
|
import "../../DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
195
197
|
import "../../DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
198
|
+
import "../../DetailsPanelDetails/DetailsSection.es.js";
|
|
196
199
|
import "../../DetailsPanelDetails/FieldLabel.es.js";
|
|
197
200
|
import "../../Watchers/Watchers.es.js";
|
|
198
201
|
import "../../ProjectTableSettings/ProjectTableSettings.es.js";
|
|
@@ -251,7 +254,7 @@ const J = n.form`
|
|
|
251
254
|
`, Y = n.div`
|
|
252
255
|
position: relative;
|
|
253
256
|
min-height: 80px;
|
|
254
|
-
`,
|
|
257
|
+
`, Di = ({
|
|
255
258
|
formData: o,
|
|
256
259
|
onChange: p,
|
|
257
260
|
onSubmit: y,
|
|
@@ -393,6 +396,6 @@ const J = n.form`
|
|
|
393
396
|
);
|
|
394
397
|
};
|
|
395
398
|
export {
|
|
396
|
-
|
|
399
|
+
Di as UploadVersionForm
|
|
397
400
|
};
|
|
398
401
|
//# sourceMappingURL=UploadVersionForm.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadVersionForm.es.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useRef } from 'react'\nimport styled from 'styled-components'\nimport { FormLayout, FormRow, InputText, InputNumber, Dropdown } from '@ynput/ayon-react-components'\nimport { productTypes } from '@shared/util'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n } = useVersionUploadContext()\n\n const productTypeOptions = Object.entries(productTypes).map(([key, value]) => ({\n value: key,\n label: value.name,\n icon: value.icon,\n }))\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label=\"Version\">\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label=\"Version Number\"\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n </StyledFormLayout>\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","useVersionUploadContext","productTypeOptions","productTypes","key","value","useEffect","previousProductType","previousProductTypeName","_a","currentProductTypeName","_b","suffix","newName","handleSubmit","e","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","ReviewableUpload"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UploadVersionForm.es.js","sources":["../../../../../../src/components/VersionUploader/components/UploadVersionForm.tsx"],"sourcesContent":["import { FC, FormEvent, useEffect, useRef } from 'react'\nimport styled from 'styled-components'\nimport { FormLayout, FormRow, InputText, InputNumber, Dropdown } from '@ynput/ayon-react-components'\nimport { productTypes } from '@shared/util'\nimport type { DropdownRef } from '@ynput/ayon-react-components'\nimport { ReviewableUpload } from '@shared/components'\nimport { useVersionUploadContext } from '../context/VersionUploadContext'\n\nconst StyledForm = styled.form`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n padding: var(--padding-m);\n width: 100%;\n`\n\nconst StyledFormLayout = styled(FormLayout)`\n width: 100%;\n margin: auto;\n\n & > div {\n align-items: start;\n }\n\n input {\n width: 100%;\n }\n`\n\nconst RecommendationNote = styled.div`\n font-size: var(--font-size-xs);\n color: var(--md-sys-color-outline);\n margin-top: var(--base-gap-small);\n line-height: 1.3;\n`\n\nconst InlineButton = styled.button`\n background: none;\n border: none;\n color: var(--md-sys-color-primary);\n text-decoration: underline;\n cursor: pointer;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: var(--md-sys-color-primary-dark);\n }\n`\n\nconst StyledUpload = styled.div`\n position: relative;\n min-height: 80px;\n`\n\ntype FormData = {\n version: number\n name: string\n productType: string\n}\n\ninterface UploadVersionFormProps {\n formData: FormData\n onChange: (key: keyof FormData, value: string | number) => void\n onSubmit: (formData: FormData) => void\n hidden?: (keyof FormData)[]\n projectName: string\n minVersion?: number\n versionId?: string | null\n productId?: string | null\n}\n\nexport const UploadVersionForm: FC<UploadVersionFormProps> = ({\n formData,\n onChange,\n onSubmit,\n hidden = [],\n projectName,\n minVersion = 1,\n versionId,\n productId,\n}) => {\n const previousProductTypeRef = useRef<string>(formData.productType)\n const dropdownRef = useRef<DropdownRef>(null)\n const formRef = useRef<HTMLFormElement>(null)\n const {\n pendingFiles,\n setPendingFiles,\n onCloseVersionUpload,\n extractAndSetVersionFromFiles,\n dispatch,\n } = useVersionUploadContext()\n\n const productTypeOptions = Object.entries(productTypes).map(([key, value]) => ({\n value: key,\n label: value.name,\n icon: value.icon,\n }))\n\n useEffect(() => {\n // Check if the current name starts with the previous product type name\n const previousProductType = previousProductTypeRef.current\n const previousProductTypeName = productTypes[previousProductType]?.name || ''\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n\n // Only sync if the product type actually changed\n if (formData.productType !== previousProductType && previousProductTypeName) {\n // Check if the current name starts with the previous product type name\n if (formData.name.startsWith(previousProductTypeName)) {\n // Extract the suffix after the previous product type name\n const suffix = formData.name.slice(previousProductTypeName.length)\n // Create the new name with the current product type + suffix\n const newName = currentProductTypeName + suffix\n onChange('name', newName)\n }\n }\n\n // Update the ref to the current product type\n previousProductTypeRef.current = formData.productType\n }, [formData.productType, formData.name, onChange])\n\n const handleSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n // @ts-expect-error - submitter is not defined in the type\n const submitter = e.nativeEvent.submitter as HTMLButtonElement | null\n // if the submitter is a button, check it's parent does not have the dropdown class\n if (submitter && submitter.closest('.dropdown')) {\n // if the submitter is a button inside a dropdown, do not submit the form\n return\n }\n\n onSubmit(formData)\n }\n\n const handleVersionChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = parseInt(e.target.value, 10)\n if (!isNaN(value)) {\n onChange('version', value)\n }\n }\n\n const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange('name', e.target.value)\n }\n\n const handleProductTypeChange = (value: string[]) => {\n if (value.length > 0) {\n onChange('productType', value[0])\n // focus the name input after changing product type\n }\n }\n\n const handleApplyPrefix = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n const currentName = formData.name || ''\n\n // Capitalize the first letter of the existing name for camelCase\n const capitalizedName = currentName.charAt(0).toUpperCase() + currentName.slice(1)\n const newName = currentProductTypeName + capitalizedName\n onChange('name', newName)\n }\n\n const shouldShowRecommendation = () => {\n const currentProductTypeName = productTypes[formData.productType]?.name || ''\n return formData.name && !formData.name.startsWith(currentProductTypeName)\n }\n\n // Disable form fields if version has been created\n const isFormSubmitted = Boolean(versionId)\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLFormElement>) => {\n // Submit form on Cmd/Ctrl + Enter\n if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onSubmit(formData)\n return\n }\n }\n\n return (\n <StyledForm\n id=\"upload-version-form\"\n ref={formRef}\n onSubmit={handleSubmit}\n noValidate\n onKeyDown={handleKeyDown}\n >\n <StyledFormLayout>\n {!hidden.includes('productType') && (\n <FormRow label=\"Product Type\">\n <Dropdown\n ref={dropdownRef}\n options={productTypeOptions}\n value={[formData.productType]}\n onChange={handleProductTypeChange}\n widthExpand\n multiSelect={false}\n aria-label=\"Product Type\"\n search\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n\n {!hidden.includes('name') && (\n <FormRow label=\"Product Name\">\n <div>\n <InputText\n value={formData.name}\n onChange={handleNameChange}\n placeholder=\"Enter product name\"\n minLength={1}\n autoFocus\n aria-label=\"Product Name\"\n aria-describedby={shouldShowRecommendation() ? 'name-recommendation' : undefined}\n disabled={isFormSubmitted}\n />\n {shouldShowRecommendation() && (\n <RecommendationNote id=\"name-recommendation\">\n We recommend prefixing with \"{productTypes[formData.productType]?.name}\".{' '}\n <InlineButton type=\"button\" onClick={handleApplyPrefix}>\n Apply prefix\n </InlineButton>\n </RecommendationNote>\n )}\n </div>\n </FormRow>\n )}\n\n {!hidden.includes('version') && (\n <FormRow label=\"Version\">\n <InputNumber\n value={formData.version}\n onChange={handleVersionChange}\n min={minVersion}\n step={1}\n aria-label=\"Version Number\"\n autoFocus={hidden.includes('name')}\n disabled={isFormSubmitted}\n />\n </FormRow>\n )}\n </StyledFormLayout>\n\n <FormRow label=\"Reviewable files\" />\n <StyledUpload>\n <ReviewableUpload\n projectName={projectName}\n versionId={versionId}\n productId={productId}\n dispatch={dispatch}\n pendingFiles={pendingFiles}\n setPendingFiles={setPendingFiles}\n onUpload={onCloseVersionUpload}\n onFilesAdded={extractAndSetVersionFromFiles}\n pt={{\n upload: {\n style: { minHeight: 80 },\n },\n dropzone: {\n style: { inset: 0 },\n },\n }}\n />\n </StyledUpload>\n </StyledForm>\n )\n}\n"],"names":["StyledForm","styled","StyledFormLayout","FormLayout","RecommendationNote","InlineButton","StyledUpload","UploadVersionForm","formData","onChange","onSubmit","hidden","projectName","minVersion","versionId","productId","previousProductTypeRef","useRef","dropdownRef","formRef","pendingFiles","setPendingFiles","onCloseVersionUpload","extractAndSetVersionFromFiles","dispatch","useVersionUploadContext","productTypeOptions","productTypes","key","value","useEffect","previousProductType","previousProductTypeName","_a","currentProductTypeName","_b","suffix","newName","handleSubmit","e","submitter","handleVersionChange","handleNameChange","handleProductTypeChange","handleApplyPrefix","currentName","capitalizedName","shouldShowRecommendation","isFormSubmitted","handleKeyDown","jsxs","jsx","FormRow","Dropdown","InputText","InputNumber","ReviewableUpload"],"mappings":"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"}
|