UNPKG

@sanity/media-library-types

Version:

Type definitions for common Sanity Media Library data structures

94 lines (80 loc) 2.37 kB
import { Asset } from "./assets" import { FileUpload } from "./files" /** * Message sent from the plugin when files are uploading */ export type PluginPostMessageUploadFilesProgress = { type: 'uploadProgress' files: FileUpload[] } /** * Message sent from the app that the pending uploads are uploaded */ export type PluginPostMessageUploadFilesResponse = { type: 'uploadResponse' assets: AssetSelectionItemWithLegacySupport[] } export interface AssetSelectionItem { asset: Asset assetInstanceId?: string | null } /* This is to support the legacy asset selection API in a transition phase */ interface AssetSelectionItemWithLegacySupport extends AssetSelectionItem { assetId: string assetType: string assetInstanceId: string // Required } export type PluginPostMessageAssetSelection = { type: 'assetSelection' selection: AssetSelectionItemWithLegacySupport[] } /** * Message sent from the plugin that a document has been updated */ export type PluginPostMessageDocumentUpdate = { type: 'documentUpdate' document: {_id: string; _type: string; _rev: string} } /** * Message sent from the plugin that the user wants to upload files */ export type PluginPostMessageUploadFilesRequest = { type: 'uploadRequest' files: {id: string; file: File}[] } export type PluginPostMessageAbortUploadRequest = { type: 'abortUploadRequest' files?: {id: string}[] } export type PluginPostMessageTokenRequest = { type: 'tokenRequest' } export type PluginPostMessageTokenResponse = { type: 'tokenResponse' token: string | null } /** * Message sent from a plugin page to notify the host that the page is loaded and ready to be interacted with */ export type PluginPostMessagePageLoaded = { type: 'pageLoaded' page: string } /** * Message sent from a plugin page that a page is unloaded by the user (for closing the dialog and similar) */ export type PluginPostMessagePageUnloaded = { type: 'pageUnloaded' page: string } export type PluginPostMessage = | PluginPostMessageAbortUploadRequest | PluginPostMessageAssetSelection | PluginPostMessageDocumentUpdate | PluginPostMessagePageLoaded | PluginPostMessagePageUnloaded | PluginPostMessageTokenRequest | PluginPostMessageTokenResponse | PluginPostMessageUploadFilesProgress | PluginPostMessageUploadFilesRequest | PluginPostMessageUploadFilesResponse