Layout-level controls used to rearrange blocks and open modules.

interface AsukaLayoutApi {
    addItem: ((zone: LayoutZoneId, item: AsukaLayoutItemRegistration, index?: number) => void);
    getBlockCollapsed: ((blockId: string) => boolean);
    getZoneCollapsed: ((zone: LayoutZoneId) => boolean);
    getZoneType: ((zone: LayoutZoneId) => "panels" | "default" | "inline");
    moveBlock: ((blockId: string, targetZone: LayoutZoneId, index?: number) => void);
    openModule: ((id: string) => void);
    overlay: AsukaLayoutOverlayApi;
    removeItem: ((blockId: string) => void);
    selectionMenu: AsukaSelectionMenuApi;
    setBlockCollapsed: ((blockId: string, value: boolean) => void);
    setBlockCollapsible: ((blockId: string, value: boolean) => void);
    setZoneCollapsed: ((zone: LayoutZoneId, value: boolean) => void);
    setZoneType: ((zone: LayoutZoneId, type: "panels" | "default" | "inline") => void);
    toggleBlockCollapsed: ((blockId: string) => void);
    toggleZoneCollapsed: ((zone: LayoutZoneId) => void);
    updateItem: ((blockId: string, patch: Partial<Omit<AsukaLayoutItemRegistration, "id">>) => void);
}

Properties

addItem: ((zone: LayoutZoneId, item: AsukaLayoutItemRegistration, index?: number) => void)

Insert a new block in one of the layout zones.

getBlockCollapsed: ((blockId: string) => boolean)

Read whether an individual block is collapsed.

getZoneCollapsed: ((zone: LayoutZoneId) => boolean)

Read whether a layout zone is currently collapsed.

getZoneType: ((zone: LayoutZoneId) => "panels" | "default" | "inline")

Read the rendering style currently applied to a layout zone.

moveBlock: ((blockId: string, targetZone: LayoutZoneId, index?: number) => void)

Move an existing layout block to another zone and optional index.

openModule: ((id: string) => void)

Open a module using its registered display mode.

Overlay stack controls used by floating modules and popovers.

removeItem: ((blockId: string) => void)

Remove a layout block by its block id.

selectionMenu: AsukaSelectionMenuApi

Contextual selection menu controls.

setBlockCollapsed: ((blockId: string, value: boolean) => void)

Force an individual block to collapsed/opened state.

setBlockCollapsible: ((blockId: string, value: boolean) => void)

Force whether an individual block can be collapsed.

setZoneCollapsed: ((zone: LayoutZoneId, value: boolean) => void)

Force a layout zone to collapsed/opened state.

setZoneType: ((zone: LayoutZoneId, type: "panels" | "default" | "inline") => void)

Change the rendering style used by a layout zone.

toggleBlockCollapsed: ((blockId: string) => void)

Toggle the collapsed state of an individual block.

toggleZoneCollapsed: ((zone: LayoutZoneId) => void)

Toggle the collapsed state of a layout zone.

updateItem: ((blockId: string, patch: Partial<Omit<AsukaLayoutItemRegistration, "id">>) => void)

Update an existing layout block in place.