bento
Import
Section titled “Import”import * as api from "@fungi.computer/maosaico/bento";Exports
Section titled “Exports”| Kind | Export | Description |
|---|---|---|
| type alias | BentoColumns | Host-selected responsive grid; Maosaico does not select breakpoints. |
| type alias | BentoPlacement | A caller-owned tile in integer grid cells. IDs are unique within a grid. |
| type alias | BentoOp | Intent proposed by the interaction binding and accepted by the host. |
| type alias | BentoGeometry | Container-relative pixel geometry supplied by the measured host. |
| function | resolveBento() | Normalize cells and push collisions downward, preserving caller identity/order. |
| function | arrangeBento() | Reflow spans and compact vertical gaps while retaining stable tile identity/order. |
| function | applyBentoOps() | Apply intents in order, reorder downward past occupants, then compact every tile. |
| function | bentoRowOffset() | Pixel origin of an integer row, shared by frames and pointer snapping. |
| function | bentoRowAt() | Nearest row boundary for a pointer; remaining rows use the uniform stride. |
| function | bentoFrames() | Map cells to frames; content and scrolling remain with the host. |
BentoColumnstype alias
Section titled “BentoColumns”type BentoColumns = 1 | 2 | 4;Host-selected responsive grid; Maosaico does not select breakpoints.
BentoPlacementtype alias
Section titled “BentoPlacement”type BentoPlacement = Readonly<{ id: string; col: number; row: number; w: number; h: number;}>;A caller-owned tile in integer grid cells. IDs are unique within a grid.
BentoOptype alias
Section titled “BentoOp”type BentoOp = | Readonly<{ kind: "move"; id: string; col: number; row: number; }> | Readonly<{ kind: "resize"; id: string; w: number; h: number; }>;Intent proposed by the interaction binding and accepted by the host.
BentoGeometrytype alias
Section titled “BentoGeometry”type BentoGeometry = Readonly<{ columns: BentoColumns; width: number; rowHeight: number; rowHeights?: readonly number[]; gap: number;}>;Container-relative pixel geometry supplied by the measured host.
resolveBento()function
Section titled “resolveBento()”function resolveBento( placements, columns, priority?,): readonly Readonly<{ id: string; col: number; row: number; w: number; h: number;}>[];Normalize cells and push collisions downward, preserving caller identity/order.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
placements |
readonly Readonly<{ id: string; col: number; row: number; w: number; h: number; }>[] |
columns |
BentoColumns |
priority? |
string |
Returns
Section titled “Returns”readonly Readonly<{ id: string; col: number; row: number; w:
number; h: number; }>[]
arrangeBento()function
Section titled “arrangeBento()”function arrangeBento( placements, columns,): readonly Readonly<{ id: string; col: number; row: number; w: number; h: number;}>[];Reflow spans and compact vertical gaps while retaining stable tile identity/order.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
placements |
readonly Readonly<{ id: string; col: number; row: number; w: number; h: number; }>[] |
columns |
BentoColumns |
Returns
Section titled “Returns”readonly Readonly<{ id: string; col: number; row: number; w:
number; h: number; }>[]
applyBentoOps()function
Section titled “applyBentoOps()”function applyBentoOps( placements, ops, columns,): readonly Readonly<{ id: string; col: number; row: number; w: number; h: number;}>[];Apply intents in order, reorder downward past occupants, then compact every tile.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
placements |
readonly Readonly<{ id: string; col: number; row: number; w: number; h: number; }>[] |
ops |
readonly BentoOp[] |
columns |
BentoColumns |
Returns
Section titled “Returns”readonly Readonly<{ id: string; col: number; row: number; w:
number; h: number; }>[]
bentoRowOffset()function
Section titled “bentoRowOffset()”function bentoRowOffset(row, geometry): number;Pixel origin of an integer row, shared by frames and pointer snapping.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
row |
number |
geometry |
BentoGeometry |
Returns
Section titled “Returns”number
bentoRowAt()function
Section titled “bentoRowAt()”function bentoRowAt(y, geometry): number;Nearest row boundary for a pointer; remaining rows use the uniform stride.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
y |
number |
geometry |
BentoGeometry |
Returns
Section titled “Returns”number
bentoFrames()function
Section titled “bentoFrames()”function bentoFrames(placements, geometry): ReadonlyMap<string, Frame>;Map cells to frames; content and scrolling remain with the host.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
placements |
readonly Readonly<{ id: string; col: number; row: number; w: number; h: number; }>[] |
geometry |
BentoGeometry |
Returns
Section titled “Returns”ReadonlyMap<string, Frame>