import type { UmbWorkspaceActionMenuItem } from '../components/workspace-action-menu-item/workspace-action-menu-item.interface.js'; import type { UmbControllerHostElement } from '../../../../libs/controller-api/index.js'; import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../../../../libs/extension-api/index.js'; export interface ManifestWorkspaceActionMenuItem extends ManifestElementAndApi>, ManifestWithDynamicConditions { type: 'workspaceActionMenuItem'; /** * Define which workspace actions this menu item should be shown for. * @examples [ * ['Umb.WorkspaceAction.Document.Save', 'Umb.WorkspaceAction.Document.SaveAndPublish'], * "Umb.WorkspaceAction.Document.Save" * ] * @required */ forWorkspaceActions: string | string[]; meta: MetaType; } export interface MetaWorkspaceActionMenuItem { } export interface ManifestWorkspaceActionMenuItemDefaultKind extends ManifestWorkspaceActionMenuItem { type: 'workspaceActionMenuItem'; kind: 'default'; } export interface MetaWorkspaceActionMenuItemDefaultKind extends MetaWorkspaceActionMenuItem { /** * An icon to represent the action to be performed * @examples [ * "icon-box", * "icon-grid" * ] */ icon: string; /** * The friendly name of the action to perform * @examples [ * "Create", * "Create Content Template" * ] */ label: string; } declare global { interface UmbExtensionManifestMap { ManifestWorkspaceActionMenuItem: ManifestWorkspaceActionMenuItem; ManifestWorkspaceActionMenuItemDefaultKind: ManifestWorkspaceActionMenuItemDefaultKind; } }