Snapshot of the content editor's observable state. Every facet a custom toolbar
needs for a UI session (live? dirty? which block is active / selected? what
style is at the cursor?) is here, so the same handler covers session-start,
session-end, block-change, style-change, etc. without subscribing to multiple
events.
Programmatic sessions also emit this event for lifecycle and mutation changes.
For those sessions, mode, activeBlockId, selectedBlockId, and
currentStyle are null.
Consecutive identical snapshots are deduplicated by shallow equality before the
event fires.
Payload of "contentEditor.stateChange".
Snapshot of the content editor's observable state. Every facet a custom toolbar needs for a UI session (live? dirty? which block is active / selected? what style is at the cursor?) is here, so the same handler covers session-start, session-end, block-change, style-change, etc. without subscribing to multiple events.
Programmatic sessions also emit this event for lifecycle and mutation changes. For those sessions,
mode,activeBlockId,selectedBlockId, andcurrentStylearenull.Consecutive identical snapshots are deduplicated by shallow equality before the event fires.