@bendyline/squisq-react 2.10.1 → 2.11.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.
@@ -2904,10 +2904,7 @@ function DocPlayerContent({
2904
2904
  const [isSlideshowPickerOpen, setIsSlideshowPickerOpen] = useState6(false);
2905
2905
  const slideshowCoverInitKeyRef = useRef7("");
2906
2906
  useEffect7(() => {
2907
- slideshowCoverInitKeyRef.current = "";
2908
- }, [doc]);
2909
- useEffect7(() => {
2910
- const initKey = `${isSlideshowMode}:${hasManagedCover}:${renderMode}`;
2907
+ const initKey = `${doc.articleId}:${isSlideshowMode}:${hasManagedCover}:${renderMode}`;
2911
2908
  if (slideshowCoverInitKeyRef.current === initKey) return;
2912
2909
  slideshowCoverInitKeyRef.current = initKey;
2913
2910
  if (isSlideshowMode && hasManagedCover && !renderMode) {
@@ -2916,7 +2913,7 @@ function DocPlayerContent({
2916
2913
  } else {
2917
2914
  setSlideshowCoverVisible(false);
2918
2915
  }
2919
- }, [isSlideshowMode, hasManagedCover, renderMode, pause]);
2916
+ }, [doc.articleId, isSlideshowMode, hasManagedCover, renderMode, pause]);
2920
2917
  const [coverForced, setCoverForced] = useState6(false);
2921
2918
  const [coverGraceActive, setCoverGraceActive] = useState6(false);
2922
2919
  const coverGraceTimer = useRef7();
package/dist/index.d.ts CHANGED
@@ -43,11 +43,14 @@ import '@bendyline/squisq/jsonForm';
43
43
 
44
44
  interface MountOptions {
45
45
  /**
46
- * Rendering mode: 'slideshow' (interactive, default), 'static'
46
+ * Rendering mode: 'slideshow' (interactive, default), 'video' (timed
47
+ * auto-advance playback with scrubber — the movie mode), 'static'
47
48
  * (scrollable page), 'dashboard' (one canvas of arranged blocks), or
48
49
  * 'flashcards' (progressively revealed study deck).
49
50
  */
50
- mode?: 'slideshow' | 'static' | 'dashboard' | 'flashcards';
51
+ mode?: 'slideshow' | 'video' | 'static' | 'dashboard' | 'flashcards';
52
+ /** Loop playback when the timeline ends (video mode only, default: false). */
53
+ loop?: boolean;
51
54
  /** Dashboard-mode options (ignored by the other modes). */
52
55
  dashboard?: {
53
56
  /** Layout id or 'auto'. Overrides doc frontmatter. */
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  formatTime,
16
16
  resolveDocPlayerAppearance,
17
17
  useMediaClipDurations
18
- } from "./chunk-NNJLSQPW.js";
18
+ } from "./chunk-VKXOZTYP.js";
19
19
  import {
20
20
  BlockRenderer,
21
21
  CanvasSection,
@@ -12,7 +12,7 @@ import {
12
12
  MediaClipLayer,
13
13
  SocialCaptionOverlay,
14
14
  formatTime
15
- } from "../chunk-NNJLSQPW.js";
15
+ } from "../chunk-VKXOZTYP.js";
16
16
  import {
17
17
  BlockRenderer
18
18
  } from "../chunk-R44JIBV3.js";