Add a new widget type that acts as a table of content (TOC) for all text widgets. Shows h1, h2, etc. in a table that allows clicking on it to go to the specified header.
[x] Add getTOCEntries to all widgets, which returns [] for most, but for text, returns `[{ id: "id that is unique within widget", text: "text of TOC entry", level: 1, 2, etc. }]
[x] Create new widget type that is TOC that gets passed tocEntries (all widgets should get this). Same as response to getTOCEntries, but with widgetId: field that contains id of widget.
[x] Add scrollToTOCEntry(id) to widget view component for text only
[x] onScrollToTOCEntry is now passed to all widgets. Any widget may call to scroll to id using (widgetId, id)
Add a new widget type that acts as a table of content (TOC) for all text widgets. Shows h1, h2, etc. in a table that allows clicking on it to go to the specified header.
tocEntries
(all widgets should get this). Same as response to getTOCEntries, but with widgetId: field that contains id of widget.Options for widget? Or just hyperlinks?