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

    Interface CommandRootProviderProps

    Establishes the shared command root (registry + app scope + the one studio focus tracker + the one studio resolver with its synthetic key seam) for one mounted app. The per-workbook (WorkbookElement) and per-sheet (SheetCommandProvider) providers createChild their instance scopes off the ambient scope this publishes.

    Provide-or-inherit (the SurfaceStateProvider idiom): if an ancestor already established a root, an ambient command scope exists — so this is a pass-through, and a studio establishes ONE root that both its chrome (toolbar / formula bar) and its WorkbookElement(s) share, while a bare chromeless WorkbookElement that finds none establishes its own. Two WorkbookElements under one studio therefore share one registry + root and each owns a distinct workbook instance — the substrate for the pending-workbook swap.

    It owns only instance-independent infrastructure. The catalog (chrome) is seeded by each feature provider into the shared registry (idempotent by contributor identity), and all model-closured behavior lives on the per-workbook / per-sheet instances below.

    interface CommandRootProviderProps {
        children: ReactNode;
        initialAnchor?: FocusActivationInitial;
    }
    Index
    children: ReactNode
    initialAnchor?: FocusActivationInitial

    The studio tracker's initial anchor (see Command.FocusActivation's constructor). Typically a Command.DefaultAnchorProvider provider (a function) that returns the loaded grid's would-focus pane element — invoked pre-reveal so the toolbar paints enabled without the grid stealing real focus, AND re-invoked when a resize destroys the anchored pane (the destruction fallback). A one-shot Promise/value is also accepted (seeds once, no recall). Captured at mount; real focus advances the anchor thereafter.