OptionalaxisOptionalclassClass for the layer.
OptionalonOptionalonOptionalonOptionalonOptionalonCalled when the button is pressed. Defaults to range.insert(axis).
OptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalonOptionalrenderRenders the button, filling the square it is placed in. Defaults to CellInsertButton.
OptionalresolveThe cells to insert at the header border nearest the pointer, or null for no button. The
preview line runs along the returned range. Called on every pointer move, so it should be cheap.
The entire row (column) just past the border: below it for rows, right of it for
columns. A host usually narrows it, e.g. range.getIntersect(table.getRange()).
Defaults to range when the sheet's protection allows inserting rows (columns).
OptionalsizeEdge (px, unzoomed) of the button.
OptionalstyleStyle for the layer's boundary div — e.g. display: 'none' or opacity to hide or fade a layer.
The boundary's own placement (position, inset, pointer-events: none) comes from the grid;
overriding it here breaks the layer's containment.
OptionalzExplicit stacking override, read by normalizeLayers off the grid-child element to sort the
layer list (higher sorts later = on top; omitted ⇒ declaration order). It is honored ONLY at the
grid-children level — the layer's actual dispatch slot always comes from the resulting order
index (via LayerOrderContext), never from this raw number, so paint order and event
order can never disagree.
Whether the button inserts rows, from the row headers, or columns, from the column headers. A host that wants both declares one layer for each.