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

    Interface ChromeRecord

    The JSON-serializable chrome for one command — the literal subset of ICommandDefinition (everything except callbacks/state/context, which stay in the …Dynamic TS half). This is the per-command record inside a CommandCatalog, the source of truth for a command's presentation (I18N-DESIGN.md decision 8).

    Field names are the compact catalog form; chromeToPartial maps them onto the ICommandDefinition names (desc → description, group → groupLabels). Only literal values live here — a dynamic (function) label such as selectNamed's stays in the dynamic contribution and wins at resolve time (functions always beat the catalog).

    interface ChromeRecord {
        borrow?: string[];
        description?: string;
        groupDescriptions?: Record<string, string>;
        groupIcons?: Record<string, string>;
        groupLabels?: Record<string, string>;
        icon?: string;
        label?: string;
        params?: Record<string, unknown>;
        shortcut?: string | string[] | null;
        tags?: string[];
    }
    Index
    borrow?: string[]

    Other scopes that BORROW this command (in addition to the file's owner CommandCatalog.scope). A command lives in its owner's file; borrow seeds it into the listed scopes too — e.g. the insert commands are editor-owned with borrow: ['sheet']; undo is sheet-owned with borrow: ['workbook']. Routing metadata only — not part of the command chrome.

    description?: string

    Command description.

    groupDescriptions?: Record<string, string>

    Per-surface description overrides keyed by groupKey — the description twin of groupLabels. Same field/shape as ICommandDefinition.groupDescriptions.

    groupIcons?: Record<string, string>

    Per-surface icon overrides keyed by groupKey. Legitimate but bad hygiene across scopes (I18N-DESIGN.md decision 8): an icon should normally be identical everywhere a command appears.

    groupLabels?: Record<string, string>

    Per-surface label overrides keyed by groupKey (the flat-pack cmd.<key>.label@<groupKey> variants) — e.g. { view: 'Row Gridlines', gridlinesOptions: 'Rows' }. Same field/shape as ICommandDefinition.groupLabels.

    icon?: string

    Icon glyph key (string only — React-element icons stay dynamic/TS).

    label?: string

    Command label. May contain {param} placeholders once the parameterized path is wired.

    params?: Record<string, unknown>

    Default message parameters for parameterized (ICU-subset) label/groupLabels/ description messages — e.g. { "count": 1, "mode": "none" } for "{count, plural, one{Insert Row} other{Insert # Rows}}". Seeded into the definition so pre-mount surfaces (shortcut dialog, command palette) render the sensible default; a dynamic contributor overrides with live values (ICommandDefinition.params). Copied from English by the build (never translated) — messages localize, parameter defaults don't.

    shortcut?: string | string[] | null

    Keyboard shortcut(s), compact VSCode-style: 'ctrl+shift+h', 'alt+='. An array is a list of alternative bindings. Parsed to IKeyStroke at load via parseShortcutString.

    null means explicitly unbound in this locale (the usual convention: undefined = take the default, null = exclude it). A locale pack inherits English shortcuts by absence, so null is the only way for a locale to drop one — needed when a localized mnemonic claims a chord English gives to some other command (de Bold takes ctrl+shift+F, so de formatCellsFont must give it up). See config/i18n-catalog-build.mjs.

    tags?: string[]

    Accumulated metadata tags (e.g. 'mutator', 'quickAction').