/** * Properties for an extension dialog component, rendered in its own CanKing window rather than in * the extension's workspace pane. * * @typeParam TArgs - Type of the arguments passed by whoever opened the dialog. * @typeParam TResult - Type of the value the dialog returns when it closes. */ export interface IExtensionDialogViewProps { /** * The id of the WorkspaceView that opened this dialog. Use it with the data hooks to share state * with the pane; project data slices are kept in sync between the two windows. */ id: number; /** The dialog id this window was opened for. */ dialogId: string; /** Arguments supplied by the opener, or undefined if none were passed. */ args?: TArgs; /** Height of the dialog component. */ height: number; /** Width of the dialog component. */ width: number; /** * Closes the window and resolves the opener's `openExtensionDialog` promise with `result`. * Closing the window any other way resolves it with no result. */ close: (result?: TResult) => void; }