SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Variable RangeAnnotationLayerConst

    RangeAnnotationLayer: MemoExoticComponent<
        (props: RangeAnnotationLayerProps) => Element,
    > = ...

    The workbook's range annotations on this sheet: a soft box per annotation, and a chip per anchor cell. The chip rides a StickyPortal with whenOff: 'clamp', so when its range scrolls out of view it stays at the edge as a small marker (the position, an arrow toward the range; click reveals it) instead of vanishing.

    The navigator's current annotation draws last (on top) at full strength; the others dim. That is what keeps overlapping annotations legible. Annotations that share a top-left cell share one chip — the current one's if it is among them — with a +N for the rest, so chips never stack.

    A prebuilt layer, not part of the sheet's default stack: a host that shows annotations injects it through the sheet's layers (propsSheet={{ layers: [<RangeAnnotationLayer key="annotations" />] }} on a workbook element). It reads the sheet from context and draws nothing while the workbook has no annotations. Fed through addRangeAnnotations.