@bendyline/squisq-editor-react 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE.md CHANGED
@@ -30,6 +30,7 @@ Third-party components remain under their respective license terms.
30
30
  | @monaco-editor/react _(bundled)_ | 4.7.0 | MIT | https://github.com/suren-atoyan/monaco-react |
31
31
  | @monaco-editor/loader _(bundled)_ | 1.7.0 | MIT | https://github.com/suren-atoyan/monaco-loader |
32
32
  | state-local _(bundled)_ | 1.0.7 | MIT | https://github.com/suren-atoyan/state-local |
33
+ | harper.js _(peer)_ | ^2.7.0 | Apache-2.0 | https://github.com/automattic/harper |
33
34
  | monaco-editor _(peer)_ | ~0.50.0 | MIT | https://github.com/microsoft/monaco-editor |
34
35
  | react _(peer)_ | ^18.0.0 \|\| ^19.0.0 | MIT | https://github.com/facebook/react |
35
36
  | react-dom _(peer)_ | ^18.0.0 \|\| ^19.0.0 | MIT | https://github.com/facebook/react |
package/README.md CHANGED
@@ -81,6 +81,11 @@ and block-at-a-time / timeline editing primitives (`useBlockNavigator`,
81
81
  synchronized audience window, or take over the entire screen. Slideshow/video
82
82
  playback, Page/Document scrolling, and the Narrate surface remain linked to
83
83
  the main view.
84
+ - **Flashcards mode** — the Use menu can project the original nested block tree
85
+ as progressively revealed study cards and multiple-choice quizzes. Ordinary
86
+ headings are inferred automatically; `{study=flashcard}` disambiguates a card
87
+ boundary and `{study=multiple-choice-flashcard}` makes child one the question,
88
+ child two the default correct answer, and remaining children distractors.
84
89
  - **Panels** — `outline` (heading outline pane) and `inlinePreview` (per-block
85
90
  SVG preview gutter, `inlinePreviewWidth` default 320).
86
91
  - **Code & image modes** — pass `fileName` / `language` to get a Monaco-only
@@ -125,6 +125,9 @@ function encodeTimingJson(timing) {
125
125
  const text = JSON.stringify(timing, null, 2);
126
126
  return new TextEncoder().encode(text);
127
127
  }
128
+ function encodeNarrationTimingJson(timing) {
129
+ return new TextEncoder().encode(JSON.stringify(timing, null, 2));
130
+ }
128
131
  function timingPathFor(audioRelativePath) {
129
132
  return `${audioRelativePath}.timing.json`;
130
133
  }
@@ -2739,6 +2742,7 @@ export {
2739
2742
  useStreamPreview,
2740
2743
  buildTimingJson,
2741
2744
  encodeTimingJson,
2745
+ encodeNarrationTimingJson,
2742
2746
  timingPathFor,
2743
2747
  PCM_WORKLET_NAME,
2744
2748
  PCM_WORKLET_SOURCE,