Interface AsukaLayoutItemRegistration

interface AsukaLayoutItemRegistration {
    collapsed?: boolean;
    icon?: string;
    id?: string;
    index?: number;
    kind: string;
    label?: string;
    mountTarget?: string;
    renderMode?: "inline" | "portal";
    requiredCapabilities?: string[];
    supportedEngines?: AsukaRenderEngineKind[];
    type?:
        | "inline"
        | "floating"
        | "popover"
        | "panel-left"
        | "panel-right"
        | "panel-bottom"
        | "panel-top"
        | "modal"
        | "drawer"
        | "overlay";
}

Properties

collapsed?: boolean

Initial collapsed state for inline/panel-like renderers.

icon?: string

Icon name or short string rendered for the block.

id?: string

Optional stable block id used for drag and persistence.

index?: number

Optional insertion index when adding the block programmatically.

kind: string

Module id associated with the layout block.

label?: string

Small label rendered under the icon in the sidebar/toolbar.

mountTarget?: string

Optional DOM selector used as the portal/mount target for this module overlay.

renderMode?: "inline" | "portal"

Raw render mode override used by panel zones or persistent page portals.

requiredCapabilities?: string[]

Optional menu-level capability filter. When omitted, the module definition controls capability compatibility.

supportedEngines?: AsukaRenderEngineKind[]

Optional menu-level engine filter. When omitted, the module definition controls compatibility.

type?:
    | "inline"
    | "floating"
    | "popover"
    | "panel-left"
    | "panel-right"
    | "panel-bottom"
    | "panel-top"
    | "modal"
    | "drawer"
    | "overlay"

Preferred display mode when the module is opened from this block.