pptx-react-viewer 3.20.1 → 3.21.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.
Files changed (180) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/{AiChatPanel-FIUTFT55.js → AiChatPanel-B3QM7MIC.js} +24 -24
  3. package/dist/AiChatPanel-B3QM7MIC.js.br +0 -0
  4. package/dist/AiChatPanel-B3QM7MIC.js.gz +0 -0
  5. package/dist/{AiChatPanel-7AU4A3A7.mjs → AiChatPanel-UD756KAU.mjs} +3 -3
  6. package/dist/AiChatPanel-UD756KAU.mjs.br +0 -0
  7. package/dist/AiChatPanel-UD756KAU.mjs.gz +0 -0
  8. package/dist/{Area3DChartScene-ZGVLTYDW.js → Area3DChartScene-435BFPLY.js} +2 -2
  9. package/dist/{Area3DChartScene-ZGVLTYDW.js.br → Area3DChartScene-435BFPLY.js.br} +0 -0
  10. package/dist/Area3DChartScene-435BFPLY.js.gz +0 -0
  11. package/dist/{Area3DChartScene-SPRHDMNQ.mjs → Area3DChartScene-MQKUWVMS.mjs} +1 -1
  12. package/dist/Area3DChartScene-MQKUWVMS.mjs.br +0 -0
  13. package/dist/Area3DChartScene-MQKUWVMS.mjs.gz +0 -0
  14. package/dist/{Bar3DChartScene-FJCRJCZV.mjs → Bar3DChartScene-D4GMQGPN.mjs} +1 -1
  15. package/dist/Bar3DChartScene-D4GMQGPN.mjs.br +0 -0
  16. package/dist/Bar3DChartScene-D4GMQGPN.mjs.gz +0 -0
  17. package/dist/{Bar3DChartScene-GVIX7ENI.js → Bar3DChartScene-KEYLVYJA.js} +2 -2
  18. package/dist/Bar3DChartScene-KEYLVYJA.js.br +0 -0
  19. package/dist/Bar3DChartScene-KEYLVYJA.js.gz +0 -0
  20. package/dist/{Line3DChartScene-KP4RMVAQ.mjs → Line3DChartScene-B3AWFXE4.mjs} +1 -1
  21. package/dist/Line3DChartScene-B3AWFXE4.mjs.br +0 -0
  22. package/dist/Line3DChartScene-B3AWFXE4.mjs.gz +0 -0
  23. package/dist/{Line3DChartScene-6C3WDA42.js → Line3DChartScene-JYGXLE56.js} +2 -2
  24. package/dist/Line3DChartScene-JYGXLE56.js.br +0 -0
  25. package/dist/Line3DChartScene-JYGXLE56.js.gz +0 -0
  26. package/dist/{Model3DScene-SH6ZLOXE.mjs → Model3DScene-4TG4YRVM.mjs} +1 -1
  27. package/dist/Model3DScene-4TG4YRVM.mjs.br +0 -0
  28. package/dist/Model3DScene-4TG4YRVM.mjs.gz +0 -0
  29. package/dist/{Model3DScene-SXZYGMN6.js → Model3DScene-JF5J6N6W.js} +2 -2
  30. package/dist/Model3DScene-JF5J6N6W.js.br +0 -0
  31. package/dist/Model3DScene-JF5J6N6W.js.gz +0 -0
  32. package/dist/{PieChart3DScene-F4IE7565.mjs → PieChart3DScene-4BQ6PR7P.mjs} +1 -1
  33. package/dist/PieChart3DScene-4BQ6PR7P.mjs.br +0 -0
  34. package/dist/PieChart3DScene-4BQ6PR7P.mjs.gz +0 -0
  35. package/dist/{PieChart3DScene-V2Q73UEQ.js → PieChart3DScene-CCQWSH3W.js} +2 -2
  36. package/dist/{PieChart3DScene-V2Q73UEQ.js.br → PieChart3DScene-CCQWSH3W.js.br} +0 -0
  37. package/dist/PieChart3DScene-CCQWSH3W.js.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-AXLDY5BB.mjs → SurfaceChart3DScene-FRQC5HBG.mjs} +1 -1
  39. package/dist/SurfaceChart3DScene-FRQC5HBG.mjs.br +0 -0
  40. package/dist/SurfaceChart3DScene-FRQC5HBG.mjs.gz +0 -0
  41. package/dist/{SurfaceChart3DScene-XUGVYHD2.js → SurfaceChart3DScene-UVZPT6OD.js} +2 -2
  42. package/dist/{SurfaceChart3DScene-XUGVYHD2.js.br → SurfaceChart3DScene-UVZPT6OD.js.br} +0 -0
  43. package/dist/SurfaceChart3DScene-UVZPT6OD.js.gz +0 -0
  44. package/dist/{chunk-ML4MTTPV.js → chunk-BFPIMU6Q.js} +1217 -1022
  45. package/dist/chunk-BFPIMU6Q.js.br +0 -0
  46. package/dist/chunk-BFPIMU6Q.js.gz +0 -0
  47. package/dist/{chunk-JIP6BCRV.mjs → chunk-BXMPXKV5.mjs} +452 -257
  48. package/dist/chunk-BXMPXKV5.mjs.br +0 -0
  49. package/dist/chunk-BXMPXKV5.mjs.gz +0 -0
  50. package/dist/{chunk-GV6LVDBE.mjs → chunk-EJMDD4VV.mjs} +58 -36
  51. package/dist/chunk-EJMDD4VV.mjs.br +0 -0
  52. package/dist/{chunk-GV6LVDBE.mjs.gz → chunk-EJMDD4VV.mjs.gz} +0 -0
  53. package/dist/{chunk-K7TAGREH.js → chunk-H7QPQ4OR.js} +5 -5
  54. package/dist/chunk-H7QPQ4OR.js.br +0 -0
  55. package/dist/chunk-H7QPQ4OR.js.gz +0 -0
  56. package/dist/{chunk-F65J67TW.mjs → chunk-HZEOZUUH.mjs} +1 -1
  57. package/dist/chunk-HZEOZUUH.mjs.br +0 -0
  58. package/dist/chunk-HZEOZUUH.mjs.gz +0 -0
  59. package/dist/{chunk-2BQKGTIF.js → chunk-M6QJKPU2.js} +1101 -1079
  60. package/dist/chunk-M6QJKPU2.js.br +0 -0
  61. package/dist/chunk-M6QJKPU2.js.gz +0 -0
  62. package/dist/chunk-MRWGWKA2.mjs +1076 -0
  63. package/dist/chunk-MRWGWKA2.mjs.br +0 -0
  64. package/dist/chunk-MRWGWKA2.mjs.gz +0 -0
  65. package/dist/{chunk-U46O2NL5.js → chunk-SUZIFHXI.js} +173 -173
  66. package/dist/chunk-SUZIFHXI.js.br +0 -0
  67. package/dist/chunk-SUZIFHXI.js.gz +0 -0
  68. package/dist/{chunk-HN5QJSVB.js → chunk-T6V342NP.js} +404 -100
  69. package/dist/chunk-T6V342NP.js.br +0 -0
  70. package/dist/{chunk-HN5QJSVB.js.gz → chunk-T6V342NP.js.gz} +0 -0
  71. package/dist/{chunk-MWNB4BX5.mjs → chunk-TMTQJAGK.mjs} +401 -101
  72. package/dist/chunk-TMTQJAGK.mjs.br +0 -0
  73. package/dist/{chunk-MWNB4BX5.mjs.gz → chunk-TMTQJAGK.mjs.gz} +0 -0
  74. package/dist/{chunk-OKIHMWGI.mjs → chunk-TOOKJUPG.mjs} +1 -1
  75. package/dist/chunk-TOOKJUPG.mjs.br +0 -0
  76. package/dist/{chunk-OKIHMWGI.mjs.gz → chunk-TOOKJUPG.mjs.gz} +0 -0
  77. package/dist/chunk-YQQXFRZT.js +1160 -0
  78. package/dist/chunk-YQQXFRZT.js.br +0 -0
  79. package/dist/chunk-YQQXFRZT.js.gz +0 -0
  80. package/dist/index.d.ts +60 -2
  81. package/dist/index.js +46 -46
  82. package/dist/index.js.br +0 -0
  83. package/dist/index.js.gz +0 -0
  84. package/dist/index.mjs +5 -5
  85. package/dist/index.mjs.br +0 -0
  86. package/dist/index.mjs.gz +0 -0
  87. package/dist/internals.d.ts +75 -43
  88. package/dist/internals.js +104 -104
  89. package/dist/internals.js.br +0 -0
  90. package/dist/internals.js.gz +0 -0
  91. package/dist/internals.mjs +3 -3
  92. package/dist/internals.mjs.br +0 -0
  93. package/dist/internals.mjs.gz +0 -0
  94. package/dist/viewer/index.d.ts +70 -6
  95. package/dist/viewer/index.js +26 -26
  96. package/dist/viewer/index.js.br +0 -0
  97. package/dist/viewer/index.js.gz +0 -0
  98. package/dist/viewer/index.mjs +5 -5
  99. package/dist/viewer/index.mjs.br +0 -0
  100. package/dist/viewer/index.mjs.gz +0 -0
  101. package/dist/{y-webrtc-TAJBJIKH.js → y-webrtc-6H3ROPRC.js} +1079 -128
  102. package/dist/y-webrtc-6H3ROPRC.js.br +0 -0
  103. package/dist/y-webrtc-6H3ROPRC.js.gz +0 -0
  104. package/dist/{y-webrtc-7DLWG3LJ.mjs → y-webrtc-XJDH2YTR.mjs} +984 -33
  105. package/dist/y-webrtc-XJDH2YTR.mjs.br +0 -0
  106. package/dist/y-webrtc-XJDH2YTR.mjs.gz +0 -0
  107. package/dist/{y-websocket-YRPS7AFF.js → y-websocket-6ISNPON7.js} +79 -80
  108. package/dist/y-websocket-6ISNPON7.js.br +0 -0
  109. package/dist/y-websocket-6ISNPON7.js.gz +0 -0
  110. package/dist/{y-websocket-HUEA7LH7.mjs → y-websocket-SJ3NCLBZ.mjs} +3 -4
  111. package/dist/y-websocket-SJ3NCLBZ.mjs.br +0 -0
  112. package/dist/y-websocket-SJ3NCLBZ.mjs.gz +0 -0
  113. package/package.json +7 -4
  114. package/dist/AiChatPanel-7AU4A3A7.mjs.br +0 -0
  115. package/dist/AiChatPanel-7AU4A3A7.mjs.gz +0 -0
  116. package/dist/AiChatPanel-FIUTFT55.js.br +0 -0
  117. package/dist/AiChatPanel-FIUTFT55.js.gz +0 -0
  118. package/dist/Area3DChartScene-SPRHDMNQ.mjs.br +0 -0
  119. package/dist/Area3DChartScene-SPRHDMNQ.mjs.gz +0 -0
  120. package/dist/Area3DChartScene-ZGVLTYDW.js.gz +0 -0
  121. package/dist/Bar3DChartScene-FJCRJCZV.mjs.br +0 -0
  122. package/dist/Bar3DChartScene-FJCRJCZV.mjs.gz +0 -0
  123. package/dist/Bar3DChartScene-GVIX7ENI.js.br +0 -0
  124. package/dist/Bar3DChartScene-GVIX7ENI.js.gz +0 -0
  125. package/dist/Line3DChartScene-6C3WDA42.js.br +0 -0
  126. package/dist/Line3DChartScene-6C3WDA42.js.gz +0 -0
  127. package/dist/Line3DChartScene-KP4RMVAQ.mjs.br +0 -0
  128. package/dist/Line3DChartScene-KP4RMVAQ.mjs.gz +0 -0
  129. package/dist/Model3DScene-SH6ZLOXE.mjs.br +0 -0
  130. package/dist/Model3DScene-SH6ZLOXE.mjs.gz +0 -0
  131. package/dist/Model3DScene-SXZYGMN6.js.br +0 -0
  132. package/dist/Model3DScene-SXZYGMN6.js.gz +0 -0
  133. package/dist/PieChart3DScene-F4IE7565.mjs.br +0 -0
  134. package/dist/PieChart3DScene-F4IE7565.mjs.gz +0 -0
  135. package/dist/PieChart3DScene-V2Q73UEQ.js.gz +0 -0
  136. package/dist/SurfaceChart3DScene-AXLDY5BB.mjs.br +0 -0
  137. package/dist/SurfaceChart3DScene-AXLDY5BB.mjs.gz +0 -0
  138. package/dist/SurfaceChart3DScene-XUGVYHD2.js.gz +0 -0
  139. package/dist/chunk-2BQKGTIF.js.br +0 -0
  140. package/dist/chunk-2BQKGTIF.js.gz +0 -0
  141. package/dist/chunk-DWIIYEOG.mjs +0 -9596
  142. package/dist/chunk-DWIIYEOG.mjs.br +0 -0
  143. package/dist/chunk-DWIIYEOG.mjs.gz +0 -0
  144. package/dist/chunk-F65J67TW.mjs.br +0 -0
  145. package/dist/chunk-F65J67TW.mjs.gz +0 -0
  146. package/dist/chunk-FXGO5KLU.mjs +0 -304
  147. package/dist/chunk-FXGO5KLU.mjs.br +0 -0
  148. package/dist/chunk-FXGO5KLU.mjs.gz +0 -0
  149. package/dist/chunk-GV6LVDBE.mjs.br +0 -0
  150. package/dist/chunk-HN5QJSVB.js.br +0 -0
  151. package/dist/chunk-JIP6BCRV.mjs.br +0 -0
  152. package/dist/chunk-JIP6BCRV.mjs.gz +0 -0
  153. package/dist/chunk-K7TAGREH.js.br +0 -0
  154. package/dist/chunk-K7TAGREH.js.gz +0 -0
  155. package/dist/chunk-ML4MTTPV.js.br +0 -0
  156. package/dist/chunk-ML4MTTPV.js.gz +0 -0
  157. package/dist/chunk-MWNB4BX5.mjs.br +0 -0
  158. package/dist/chunk-NB7M4XBG.js +0 -318
  159. package/dist/chunk-NB7M4XBG.js.br +0 -0
  160. package/dist/chunk-NB7M4XBG.js.gz +0 -0
  161. package/dist/chunk-OKIHMWGI.mjs.br +0 -0
  162. package/dist/chunk-U46O2NL5.js.br +0 -0
  163. package/dist/chunk-U46O2NL5.js.gz +0 -0
  164. package/dist/chunk-ZYQT7I5C.js +0 -9743
  165. package/dist/chunk-ZYQT7I5C.js.br +0 -0
  166. package/dist/chunk-ZYQT7I5C.js.gz +0 -0
  167. package/dist/y-webrtc-7DLWG3LJ.mjs.br +0 -0
  168. package/dist/y-webrtc-7DLWG3LJ.mjs.gz +0 -0
  169. package/dist/y-webrtc-TAJBJIKH.js.br +0 -0
  170. package/dist/y-webrtc-TAJBJIKH.js.gz +0 -0
  171. package/dist/y-websocket-HUEA7LH7.mjs.br +0 -0
  172. package/dist/y-websocket-HUEA7LH7.mjs.gz +0 -0
  173. package/dist/y-websocket-YRPS7AFF.js.br +0 -0
  174. package/dist/y-websocket-YRPS7AFF.js.gz +0 -0
  175. package/dist/yjs-4ED7E5CZ.mjs +0 -2
  176. package/dist/yjs-4ED7E5CZ.mjs.br +0 -0
  177. package/dist/yjs-4ED7E5CZ.mjs.gz +0 -0
  178. package/dist/yjs-OWUA3UHD.js +0 -419
  179. package/dist/yjs-OWUA3UHD.js.br +0 -0
  180. package/dist/yjs-OWUA3UHD.js.gz +0 -0
Binary file
Binary file
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as React$1 from 'react';
2
2
  import React$1__default from 'react';
3
+ import { Doc } from 'yjs';
3
4
  import { LanguageModel, ChatTransport, UIMessage, ToolSet } from 'ai';
4
5
  import { Options } from 'html2canvas-pro';
5
6
 
@@ -11645,6 +11646,56 @@ interface TextStyleAnimationDescriptor {
11645
11646
  color?: string;
11646
11647
  }
11647
11648
 
11649
+ //#region src/render/collaboration-presence.d.ts
11650
+ /** Connection lifecycle states for the Yjs WebSocket provider. */
11651
+ type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error';
11652
+ //#endregion
11653
+ //#region src/render/collaboration-presence-publisher.d.ts
11654
+ /**
11655
+ * Structural interface for the lazily-imported Yjs awareness surface. Every
11656
+ * binding's live `y-protocols/awareness` `Awareness` instance satisfies this.
11657
+ */
11658
+ interface AwarenessLike {
11659
+ clientID?: number;
11660
+ setLocalStateField: (field: string, value: unknown) => void;
11661
+ getStates: () => Map<number, Record<string, unknown>>;
11662
+ on: (event: string, cb: () => void) => void;
11663
+ off?: (event: string, cb: () => void) => void;
11664
+ }
11665
+ //#endregion
11666
+ //#region src/render/collaboration-external-session.d.ts
11667
+ /** Connection state reported by the host, independent of the viewer lifetime. */
11668
+ interface ExternalCollaborationSnapshot {
11669
+ status: ConnectionStatus;
11670
+ /**
11671
+ * The host has loaded the authoritative document and permits local edits.
11672
+ * Keep true while offline to allow ordinary Yjs offline edits, or set false
11673
+ * to suspend writes until a fresh sync. The viewer never infers this from
11674
+ * `status` and never opens it after a timeout.
11675
+ */
11676
+ synced: boolean;
11677
+ }
11678
+ /** The public y-protocols Awareness surface needed by a borrowed session. */
11679
+ interface ExternalCollaborationAwareness extends AwarenessLike {
11680
+ clientID: number;
11681
+ getLocalState: () => Record<string, unknown> | null;
11682
+ setLocalState: (state: Record<string, unknown> | null) => void;
11683
+ off: (event: string, callback: () => void) => void;
11684
+ }
11685
+ /**
11686
+ * Host-owned Yjs resources. The host creates, connects and destroys them.
11687
+ * Keep this object and its resources stable for a session; report connection
11688
+ * changes through subscribe instead of replacing the collaboration config.
11689
+ */
11690
+ interface ExternalCollaborationSession {
11691
+ readonly doc: Doc;
11692
+ /** Awareness must belong to doc. One viewer publishes slide presence at a time. */
11693
+ readonly awareness: ExternalCollaborationAwareness;
11694
+ getSnapshot: () => ExternalCollaborationSnapshot;
11695
+ /** Subscribe to status or synced changes; return an unsubscribe function. */
11696
+ subscribe: (listener: () => void) => () => void;
11697
+ }
11698
+ //#endregion
11648
11699
  //#region src/render/element-update-batch.d.ts
11649
11700
  /** A shallow property patch for a top-level element on an ordinary slide. */
11650
11701
  interface ElementUpdate {
@@ -11793,11 +11844,18 @@ interface CollaborationConfig {
11793
11844
  roomId: string;
11794
11845
  /**
11795
11846
  * WebSocket server URL for the Yjs provider (e.g. "wss://collab.example.com").
11796
- * Ignored (may be empty) when `transport` is `'webrtc'`.
11847
+ * Ignored (may be empty) for `externalSession` or when `transport` is `'webrtc'`.
11797
11848
  */
11798
11849
  serverUrl: string;
11799
11850
  /** Transport to use. Defaults to `'websocket'`. */
11800
11851
  transport?: CollaborationTransport;
11852
+ /**
11853
+ * Use the host's document, awareness and transport instead of creating a
11854
+ * provider. Transport, serverUrl, signaling and authToken are ignored. The
11855
+ * viewer only detaches its listeners and presence on stop; it never destroys
11856
+ * these resources. Keep this object stable and report readiness via subscribe.
11857
+ */
11858
+ externalSession?: ExternalCollaborationSession;
11801
11859
  /**
11802
11860
  * WebRTC signaling server URLs (only used when `transport` is `'webrtc'`).
11803
11861
  * Defaults to y-webrtc's built-in public signaling list. Same-browser tabs
@@ -13706,4 +13764,4 @@ declare function SlideTemplatePreview({ templateId, scheme }: SlideTemplatePrevi
13706
13764
  declare function renderToCanvas(element: HTMLElement, options?: Partial<Options>): Promise<HTMLCanvasElement>;
13707
13765
 
13708
13766
  export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, LOCALE_CATALOG, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, PowerPointViewer, SLIDE_TEMPLATES, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, THEME_CATALOG, Toolbar, VIEWER_PREFS_STORAGE_KEY, ViewerThemeProvider, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, getAnimationInitialStyle, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, renderToCanvas, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, useViewerBuildingBlocks, useViewerTheme, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs };
13709
- export type { AccountAuthConfig, ElementUpdate, ElementUpdateOptions, LocalStorageUsageSummary, LocaleCatalogEntry, PowerPointViewerAPI, PowerPointViewerHandle, PowerPointViewerProps, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy, SavedPresentationFormat, SlideCanvasProps, SlideTemplateGalleryDialogProps, SlideTemplateId, SlideTemplatePreviewProps, SlideTemplateSpec, StoredViewerPrefs, ThemeCatalogEntry, ToolbarActionId, ToolbarButtonId, ToolbarProps, ToolbarTabId, UseViewerBuildingBlocksInput, ViewerBuildingBlocksResult, ViewerMode, ViewerProfile, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding };
13767
+ export type { AccountAuthConfig, CollaborationConfig, ElementUpdate, ElementUpdateOptions, ExternalCollaborationAwareness, ExternalCollaborationSession, ExternalCollaborationSnapshot, LocalStorageUsageSummary, LocaleCatalogEntry, PowerPointViewerAPI, PowerPointViewerHandle, PowerPointViewerProps, PptxAiBridge, PptxAiConfig, PptxAiConnection, PptxAiContextStrategy, PptxAiToolName, PptxAiWritePolicy, SavedPresentationFormat, SlideCanvasProps, SlideTemplateGalleryDialogProps, SlideTemplateId, SlideTemplatePreviewProps, SlideTemplateSpec, StoredViewerPrefs, ThemeCatalogEntry, ToolbarActionId, ToolbarButtonId, ToolbarProps, ToolbarTabId, UseViewerBuildingBlocksInput, ViewerBuildingBlocksResult, ViewerMode, ViewerProfile, ViewerTheme, ViewerThemeColors, ViewportFitOptions, ViewportFitPadding };
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunk2BQKGTIF_js = require('./chunk-2BQKGTIF.js');
4
- require('./chunk-K7TAGREH.js');
5
- var chunkML4MTTPV_js = require('./chunk-ML4MTTPV.js');
6
- var chunkU46O2NL5_js = require('./chunk-U46O2NL5.js');
7
- var chunkHN5QJSVB_js = require('./chunk-HN5QJSVB.js');
3
+ var chunkM6QJKPU2_js = require('./chunk-M6QJKPU2.js');
4
+ require('./chunk-H7QPQ4OR.js');
5
+ var chunkBFPIMU6Q_js = require('./chunk-BFPIMU6Q.js');
6
+ var chunkSUZIFHXI_js = require('./chunk-SUZIFHXI.js');
7
+ var chunkT6V342NP_js = require('./chunk-T6V342NP.js');
8
8
  var chunkM24DEOP6_js = require('./chunk-M24DEOP6.js');
9
9
  require('./chunk-4VNS5WPM.js');
10
10
 
@@ -12,167 +12,167 @@ require('./chunk-4VNS5WPM.js');
12
12
 
13
13
  Object.defineProperty(exports, "PowerPointViewer", {
14
14
  enumerable: true,
15
- get: function () { return chunk2BQKGTIF_js.PowerPointViewer; }
15
+ get: function () { return chunkM6QJKPU2_js.PowerPointViewer; }
16
16
  });
17
17
  Object.defineProperty(exports, "SlideCanvas", {
18
18
  enumerable: true,
19
- get: function () { return chunk2BQKGTIF_js.SlideCanvas; }
19
+ get: function () { return chunkM6QJKPU2_js.SlideCanvas; }
20
20
  });
21
21
  Object.defineProperty(exports, "SlideTemplateGalleryDialog", {
22
22
  enumerable: true,
23
- get: function () { return chunk2BQKGTIF_js.SlideTemplateGalleryDialog; }
23
+ get: function () { return chunkM6QJKPU2_js.SlideTemplateGalleryDialog; }
24
24
  });
25
25
  Object.defineProperty(exports, "SlideTemplatePreview", {
26
26
  enumerable: true,
27
- get: function () { return chunk2BQKGTIF_js.SlideTemplatePreview; }
27
+ get: function () { return chunkM6QJKPU2_js.SlideTemplatePreview; }
28
28
  });
29
29
  Object.defineProperty(exports, "Toolbar", {
30
30
  enumerable: true,
31
- get: function () { return chunk2BQKGTIF_js.Toolbar; }
31
+ get: function () { return chunkM6QJKPU2_js.Toolbar; }
32
32
  });
33
33
  Object.defineProperty(exports, "ViewerThemeProvider", {
34
34
  enumerable: true,
35
- get: function () { return chunk2BQKGTIF_js.ViewerThemeProvider; }
35
+ get: function () { return chunkM6QJKPU2_js.ViewerThemeProvider; }
36
36
  });
37
37
  Object.defineProperty(exports, "useViewerTheme", {
38
38
  enumerable: true,
39
- get: function () { return chunk2BQKGTIF_js.useViewerTheme; }
39
+ get: function () { return chunkM6QJKPU2_js.useViewerTheme; }
40
40
  });
41
41
  Object.defineProperty(exports, "renderToCanvas", {
42
42
  enumerable: true,
43
- get: function () { return chunkML4MTTPV_js.renderToCanvas; }
43
+ get: function () { return chunkBFPIMU6Q_js.renderToCanvas; }
44
44
  });
45
45
  Object.defineProperty(exports, "useViewerBuildingBlocks", {
46
46
  enumerable: true,
47
- get: function () { return chunkML4MTTPV_js.useViewerBuildingBlocks; }
47
+ get: function () { return chunkBFPIMU6Q_js.useViewerBuildingBlocks; }
48
48
  });
49
49
  Object.defineProperty(exports, "getAnimationInitialStyle", {
50
50
  enumerable: true,
51
- get: function () { return chunkU46O2NL5_js.getAnimationInitialStyle; }
51
+ get: function () { return chunkSUZIFHXI_js.getAnimationInitialStyle; }
52
52
  });
53
53
  Object.defineProperty(exports, "AVATAR_COLOR_SWATCHES", {
54
54
  enumerable: true,
55
- get: function () { return chunkHN5QJSVB_js.AVATAR_COLOR_SWATCHES; }
55
+ get: function () { return chunkT6V342NP_js.AVATAR_COLOR_SWATCHES; }
56
56
  });
57
57
  Object.defineProperty(exports, "DEFAULT_VIEWER_PROFILE", {
58
58
  enumerable: true,
59
- get: function () { return chunkHN5QJSVB_js.DEFAULT_VIEWER_PROFILE; }
59
+ get: function () { return chunkT6V342NP_js.DEFAULT_VIEWER_PROFILE; }
60
60
  });
61
61
  Object.defineProperty(exports, "PPTX_OPEN_ACCEPT", {
62
62
  enumerable: true,
63
- get: function () { return chunkHN5QJSVB_js.PPTX_OPEN_ACCEPT; }
63
+ get: function () { return chunkT6V342NP_js.PPTX_OPEN_ACCEPT; }
64
64
  });
65
65
  Object.defineProperty(exports, "PRESENTATION_OPEN_EXTENSIONS", {
66
66
  enumerable: true,
67
- get: function () { return chunkHN5QJSVB_js.PRESENTATION_OPEN_EXTENSIONS; }
67
+ get: function () { return chunkT6V342NP_js.PRESENTATION_OPEN_EXTENSIONS; }
68
68
  });
69
69
  Object.defineProperty(exports, "SLIDE_TEMPLATES", {
70
70
  enumerable: true,
71
- get: function () { return chunkHN5QJSVB_js.SLIDE_TEMPLATES; }
71
+ get: function () { return chunkT6V342NP_js.SLIDE_TEMPLATES; }
72
72
  });
73
73
  Object.defineProperty(exports, "THEME_CATALOG", {
74
74
  enumerable: true,
75
- get: function () { return chunkHN5QJSVB_js.THEME_CATALOG; }
75
+ get: function () { return chunkT6V342NP_js.THEME_CATALOG; }
76
76
  });
77
77
  Object.defineProperty(exports, "VIEWER_PREFS_STORAGE_KEY", {
78
78
  enumerable: true,
79
- get: function () { return chunkHN5QJSVB_js.VIEWER_PREFS_STORAGE_KEY; }
79
+ get: function () { return chunkT6V342NP_js.VIEWER_PREFS_STORAGE_KEY; }
80
80
  });
81
81
  Object.defineProperty(exports, "buildSlideTemplateContent", {
82
82
  enumerable: true,
83
- get: function () { return chunkHN5QJSVB_js.buildSlideTemplateContent; }
83
+ get: function () { return chunkT6V342NP_js.buildSlideTemplateContent; }
84
84
  });
85
85
  Object.defineProperty(exports, "buildSlideTemplateSlide", {
86
86
  enumerable: true,
87
- get: function () { return chunkHN5QJSVB_js.buildSlideTemplateSlide; }
87
+ get: function () { return chunkT6V342NP_js.buildSlideTemplateSlide; }
88
88
  });
89
89
  Object.defineProperty(exports, "clearAllLocalViewerData", {
90
90
  enumerable: true,
91
- get: function () { return chunkHN5QJSVB_js.clearAllLocalViewerData; }
91
+ get: function () { return chunkT6V342NP_js.clearAllLocalViewerData; }
92
92
  });
93
93
  Object.defineProperty(exports, "clearStoredViewerPrefs", {
94
94
  enumerable: true,
95
- get: function () { return chunkHN5QJSVB_js.clearStoredViewerPrefs; }
95
+ get: function () { return chunkT6V342NP_js.clearStoredViewerPrefs; }
96
96
  });
97
97
  Object.defineProperty(exports, "createImageElementFromFile", {
98
98
  enumerable: true,
99
- get: function () { return chunkHN5QJSVB_js.createImageElementFromFile; }
99
+ get: function () { return chunkT6V342NP_js.createImageElementFromFile; }
100
100
  });
101
101
  Object.defineProperty(exports, "defaultCssVars", {
102
102
  enumerable: true,
103
- get: function () { return chunkHN5QJSVB_js.defaultCssVars; }
103
+ get: function () { return chunkT6V342NP_js.defaultCssVars; }
104
104
  });
105
105
  Object.defineProperty(exports, "defaultRadius", {
106
106
  enumerable: true,
107
- get: function () { return chunkHN5QJSVB_js.defaultRadius; }
107
+ get: function () { return chunkT6V342NP_js.defaultRadius; }
108
108
  });
109
109
  Object.defineProperty(exports, "defaultThemeColors", {
110
110
  enumerable: true,
111
- get: function () { return chunkHN5QJSVB_js.defaultThemeColors; }
111
+ get: function () { return chunkT6V342NP_js.defaultThemeColors; }
112
112
  });
113
113
  Object.defineProperty(exports, "getLocalStorageUsageSummary", {
114
114
  enumerable: true,
115
- get: function () { return chunkHN5QJSVB_js.getLocalStorageUsageSummary; }
115
+ get: function () { return chunkT6V342NP_js.getLocalStorageUsageSummary; }
116
116
  });
117
117
  Object.defineProperty(exports, "isLegacyBinaryPresentation", {
118
118
  enumerable: true,
119
- get: function () { return chunkHN5QJSVB_js.isLegacyBinaryPresentation; }
119
+ get: function () { return chunkT6V342NP_js.isLegacyBinaryPresentation; }
120
120
  });
121
121
  Object.defineProperty(exports, "isSupportedPresentationFile", {
122
122
  enumerable: true,
123
- get: function () { return chunkHN5QJSVB_js.isSupportedPresentationFile; }
123
+ get: function () { return chunkT6V342NP_js.isSupportedPresentationFile; }
124
124
  });
125
125
  Object.defineProperty(exports, "presentationBaseName", {
126
126
  enumerable: true,
127
- get: function () { return chunkHN5QJSVB_js.presentationBaseName; }
127
+ get: function () { return chunkT6V342NP_js.presentationBaseName; }
128
128
  });
129
129
  Object.defineProperty(exports, "readStoredViewerPrefs", {
130
130
  enumerable: true,
131
- get: function () { return chunkHN5QJSVB_js.readStoredViewerPrefs; }
131
+ get: function () { return chunkT6V342NP_js.readStoredViewerPrefs; }
132
132
  });
133
133
  Object.defineProperty(exports, "resolveProfileInitial", {
134
134
  enumerable: true,
135
- get: function () { return chunkHN5QJSVB_js.resolveProfileInitial; }
135
+ get: function () { return chunkT6V342NP_js.resolveProfileInitial; }
136
136
  });
137
137
  Object.defineProperty(exports, "resolveThemeCatalogEntry", {
138
138
  enumerable: true,
139
- get: function () { return chunkHN5QJSVB_js.resolveThemeCatalogEntry; }
139
+ get: function () { return chunkT6V342NP_js.resolveThemeCatalogEntry; }
140
140
  });
141
141
  Object.defineProperty(exports, "saveViewerProfile", {
142
142
  enumerable: true,
143
- get: function () { return chunkHN5QJSVB_js.saveViewerProfile; }
143
+ get: function () { return chunkT6V342NP_js.saveViewerProfile; }
144
144
  });
145
145
  Object.defineProperty(exports, "savedPresentationFileName", {
146
146
  enumerable: true,
147
- get: function () { return chunkHN5QJSVB_js.savedPresentationFileName; }
147
+ get: function () { return chunkT6V342NP_js.savedPresentationFileName; }
148
148
  });
149
149
  Object.defineProperty(exports, "themeToCssVars", {
150
150
  enumerable: true,
151
- get: function () { return chunkHN5QJSVB_js.themeToCssVars; }
151
+ get: function () { return chunkT6V342NP_js.themeToCssVars; }
152
152
  });
153
153
  Object.defineProperty(exports, "vermilionDarkColors", {
154
154
  enumerable: true,
155
- get: function () { return chunkHN5QJSVB_js.vermilionDarkColors; }
155
+ get: function () { return chunkT6V342NP_js.vermilionDarkColors; }
156
156
  });
157
157
  Object.defineProperty(exports, "vermilionDarkTheme", {
158
158
  enumerable: true,
159
- get: function () { return chunkHN5QJSVB_js.vermilionDarkTheme; }
159
+ get: function () { return chunkT6V342NP_js.vermilionDarkTheme; }
160
160
  });
161
161
  Object.defineProperty(exports, "vermilionLightColors", {
162
162
  enumerable: true,
163
- get: function () { return chunkHN5QJSVB_js.vermilionLightColors; }
163
+ get: function () { return chunkT6V342NP_js.vermilionLightColors; }
164
164
  });
165
165
  Object.defineProperty(exports, "vermilionLightTheme", {
166
166
  enumerable: true,
167
- get: function () { return chunkHN5QJSVB_js.vermilionLightTheme; }
167
+ get: function () { return chunkT6V342NP_js.vermilionLightTheme; }
168
168
  });
169
169
  Object.defineProperty(exports, "vermilionRadius", {
170
170
  enumerable: true,
171
- get: function () { return chunkHN5QJSVB_js.vermilionRadius; }
171
+ get: function () { return chunkT6V342NP_js.vermilionRadius; }
172
172
  });
173
173
  Object.defineProperty(exports, "writeStoredViewerPrefs", {
174
174
  enumerable: true,
175
- get: function () { return chunkHN5QJSVB_js.writeStoredViewerPrefs; }
175
+ get: function () { return chunkT6V342NP_js.writeStoredViewerPrefs; }
176
176
  });
177
177
  Object.defineProperty(exports, "LOCALE_CATALOG", {
178
178
  enumerable: true,
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { PowerPointViewer, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-GV6LVDBE.mjs';
2
- import './chunk-OKIHMWGI.mjs';
3
- export { renderToCanvas, useViewerBuildingBlocks } from './chunk-JIP6BCRV.mjs';
4
- export { getAnimationInitialStyle } from './chunk-F65J67TW.mjs';
5
- export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, SLIDE_TEMPLATES, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-MWNB4BX5.mjs';
1
+ export { PowerPointViewer, SlideCanvas, SlideTemplateGalleryDialog, SlideTemplatePreview, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-EJMDD4VV.mjs';
2
+ import './chunk-TOOKJUPG.mjs';
3
+ export { renderToCanvas, useViewerBuildingBlocks } from './chunk-BXMPXKV5.mjs';
4
+ export { getAnimationInitialStyle } from './chunk-HZEOZUUH.mjs';
5
+ export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, PPTX_OPEN_ACCEPT, PRESENTATION_OPEN_EXTENSIONS, SLIDE_TEMPLATES, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, buildSlideTemplateContent, buildSlideTemplateSlide, clearAllLocalViewerData, clearStoredViewerPrefs, createImageElementFromFile, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, isLegacyBinaryPresentation, isSupportedPresentationFile, presentationBaseName, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, savedPresentationFileName, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-TMTQJAGK.mjs';
6
6
  export { LOCALE_CATALOG } from './chunk-R664EPDC.mjs';
7
7
  import './chunk-XGB3TDIC.mjs';
package/dist/index.mjs.br CHANGED
Binary file
package/dist/index.mjs.gz CHANGED
Binary file
@@ -11489,6 +11489,61 @@ interface TextStyleAnimationDescriptor {
11489
11489
  color?: string;
11490
11490
  }
11491
11491
 
11492
+ //#region src/render/collaboration-presence.d.ts
11493
+ /** Connection lifecycle states for the Yjs WebSocket provider. */
11494
+ type ConnectionStatus$1 = 'disconnected' | 'connecting' | 'connected' | 'error';
11495
+ //#endregion
11496
+ //#region src/render/collaboration-presence-publisher.d.ts
11497
+ /**
11498
+ * Structural interface for the lazily-imported Yjs awareness surface. Every
11499
+ * binding's live `y-protocols/awareness` `Awareness` instance satisfies this.
11500
+ */
11501
+ interface AwarenessLike {
11502
+ clientID?: number;
11503
+ setLocalStateField: (field: string, value: unknown) => void;
11504
+ getStates: () => Map<number, Record<string, unknown>>;
11505
+ on: (event: string, cb: () => void) => void;
11506
+ off?: (event: string, cb: () => void) => void;
11507
+ }
11508
+ //#endregion
11509
+ //#region src/render/collaboration-external-session.d.ts
11510
+ /** Connection state reported by the host, independent of the viewer lifetime. */
11511
+ interface ExternalCollaborationSnapshot {
11512
+ status: ConnectionStatus$1;
11513
+ /**
11514
+ * The host has loaded the authoritative document and permits local edits.
11515
+ * Keep true while offline to allow ordinary Yjs offline edits, or set false
11516
+ * to suspend writes until a fresh sync. The viewer never infers this from
11517
+ * `status` and never opens it after a timeout.
11518
+ */
11519
+ synced: boolean;
11520
+ }
11521
+ /** The public y-protocols Awareness surface needed by a borrowed session. */
11522
+ interface ExternalCollaborationAwareness extends AwarenessLike {
11523
+ clientID: number;
11524
+ getLocalState: () => Record<string, unknown> | null;
11525
+ setLocalState: (state: Record<string, unknown> | null) => void;
11526
+ off: (event: string, callback: () => void) => void;
11527
+ }
11528
+ /**
11529
+ * Host-owned Yjs resources. The host creates, connects and destroys them.
11530
+ * Keep this object and its resources stable for a session; report connection
11531
+ * changes through subscribe instead of replacing the collaboration config.
11532
+ */
11533
+ interface ExternalCollaborationSession {
11534
+ readonly doc: Doc;
11535
+ /** Awareness must belong to doc. One viewer publishes slide presence at a time. */
11536
+ readonly awareness: ExternalCollaborationAwareness;
11537
+ getSnapshot: () => ExternalCollaborationSnapshot;
11538
+ /** Subscribe to status or synced changes; return an unsubscribe function. */
11539
+ subscribe: (listener: () => void) => () => void;
11540
+ }
11541
+ /** Listener/publisher view, deliberately excluding host lifecycle methods. */
11542
+ interface BorrowedCollaborationAwareness extends AwarenessLike {
11543
+ clientID: number;
11544
+ off: (event: string, callback: () => void) => void;
11545
+ }
11546
+ //#endregion
11492
11547
  //#region src/render/element-update-batch.d.ts
11493
11548
  /** A shallow property patch for a top-level element on an ordinary slide. */
11494
11549
  interface ElementUpdate {
@@ -11637,11 +11692,18 @@ interface CollaborationConfig {
11637
11692
  roomId: string;
11638
11693
  /**
11639
11694
  * WebSocket server URL for the Yjs provider (e.g. "wss://collab.example.com").
11640
- * Ignored (may be empty) when `transport` is `'webrtc'`.
11695
+ * Ignored (may be empty) for `externalSession` or when `transport` is `'webrtc'`.
11641
11696
  */
11642
11697
  serverUrl: string;
11643
11698
  /** Transport to use. Defaults to `'websocket'`. */
11644
11699
  transport?: CollaborationTransport;
11700
+ /**
11701
+ * Use the host's document, awareness and transport instead of creating a
11702
+ * provider. Transport, serverUrl, signaling and authToken are ignored. The
11703
+ * viewer only detaches its listeners and presence on stop; it never destroys
11704
+ * these resources. Keep this object stable and report readiness via subscribe.
11705
+ */
11706
+ externalSession?: ExternalCollaborationSession;
11645
11707
  /**
11646
11708
  * WebRTC signaling server URLs (only used when `transport` is `'webrtc'`).
11647
11709
  * Defaults to y-webrtc's built-in public signaling list. Same-browser tabs
@@ -12192,7 +12254,9 @@ interface LiveTextSource {
12192
12254
  }
12193
12255
  interface CollaborationLivePatcher {
12194
12256
  /** Attach a live doc (or `null` to go dormant). Pending patches are dropped. */
12195
- configure: (doc: YDocLike | null, factories: YjsFactories | null) => void;
12257
+ configure: (doc: YDocLike | null, factories: YjsFactories | null,
12258
+ /** Publish synchronously when the host may revoke write readiness at any time. */
12259
+ immediate?: boolean) => void;
12196
12260
  /** True when a doc + factories are attached, i.e. patches will be written. */
12197
12261
  isActive: () => boolean;
12198
12262
  /** Queue interim geometry for an element. */
@@ -15379,12 +15443,14 @@ interface UseYjsProviderResult {
15379
15443
  *
15380
15444
  * The Yjs packages are dynamically imported so they are fully
15381
15445
  * tree-shaken when collaboration is not enabled.
15446
+ * This low-level hook owns built-in transports only. Use useCollaborativeState
15447
+ * (or the full/headless viewer) to attach a host-owned external session.
15382
15448
  */
15383
- declare function useYjsProvider({ config }: UseYjsProviderInput): UseYjsProviderResult;
15449
+ declare function useYjsProvider({ config: inputConfig }: UseYjsProviderInput): UseYjsProviderResult;
15384
15450
  //#endregion
15385
15451
  //#region src/viewer/hooks/collaboration/usePresenceTracking.d.ts
15386
15452
  interface UsePresenceTrackingInput {
15387
- awareness: Awareness | null;
15453
+ awareness: Awareness | BorrowedCollaborationAwareness | null;
15388
15454
  localClientId: number | null;
15389
15455
  userName: string;
15390
15456
  userColor: string;
@@ -15443,56 +15509,22 @@ declare function useCollaborativeHistory({ localClientId: _localClientId, handle
15443
15509
  //#endregion
15444
15510
  //#region src/viewer/hooks/collaboration/useYjsDocumentSync.d.ts
15445
15511
  interface UseYjsDocumentSyncInput {
15446
- /** The Yjs document (from useYjsProvider). null when not collaborating. */
15447
15512
  doc: Doc | null;
15448
- /** Current slides state. */
15449
15513
  slides: PptxSlide[];
15450
- /** Separated master/layout (template) elements, merged back on write-back. */
15451
15514
  templateElementsBySlideId: Record<string, PptxElement[]>;
15452
- /** React state setter for slides. */
15453
15515
  setSlides: React.Dispatch<React.SetStateAction<PptxSlide[]>>;
15454
- /** Whether collaboration is active (status === 'connected'). */
15455
15516
  isConnected: boolean;
15456
- /**
15457
- * Whether the provider completed its initial document sync. Local -> doc
15458
- * writes are gated on this so a late joiner never seeds its bootstrap deck
15459
- * into a room whose real content has not arrived yet. Defaults to true for
15460
- * callers that manage sync readiness themselves.
15461
- */
15462
15517
  isSynced?: boolean;
15463
- /** Collaboration config (for role and write-back). */
15464
- config?: Pick<CollaborationConfig, 'role' | 'onWriteBack' | 'writeBackDebounceMs'>;
15465
- /**
15466
- * Return the source PPTX bytes for write-back serialization. Only called
15467
- * when role === 'owner' and onWriteBack is set.
15468
- */
15518
+ config?: Pick<CollaborationConfig, 'role' | 'onWriteBack' | 'writeBackDebounceMs' | 'externalSession' | 'sessionIntent'>;
15469
15519
  getSourceBytes?: () => Uint8Array | null;
15470
- /**
15471
- * Session-level save options (view properties, table styles, tags, deck
15472
- * properties, ...), built the same way as the Save/Export path
15473
- * (`buildDeckSaveOptions` in `pptx-viewer-shared`). Without this the
15474
- * write-back reloaded the source bytes and called `handler.save(slides)`
15475
- * with NO options, so an owner's write-back file dropped every
15476
- * session-level edit that lives outside `slides`.
15477
- */
15478
15520
  getSaveOptions?: () => PptxHandlerSaveOptions;
15479
- /**
15480
- * Monotonic counter bumped each time the content-load pipeline finishes
15481
- * applying a parsed deck to viewer state. A local load that lands while the
15482
- * shared doc already holds slides (a late joiner's bootstrap deck parsing
15483
- * after the room state arrived) would silently clobber the synced slides;
15484
- * each bump re-adopts the doc's slides when the room has content.
15485
- */
15486
15521
  loadVersion?: number;
15487
- /**
15488
- * Why the last content load ran. Only a `bootstrap` deck (the host's
15489
- * `content`) yields to a room that already holds slides; a file the user
15490
- * opened mid-session is what they asked for and is published instead
15491
- * (`shouldRoomSlidesReplaceLoad`).
15492
- */
15493
15522
  loadOrigin?: CollabLoadOrigin;
15523
+ /** External readiness owns this channel together with full-deck writes. */
15524
+ livePatcher?: CollaborationLivePatcher;
15525
+ onReadOnlyChange?: (readOnly: boolean) => void;
15494
15526
  }
15495
- declare function useYjsDocumentSync({ doc, slides, templateElementsBySlideId, setSlides, isConnected, isSynced, config, getSourceBytes, getSaveOptions, loadVersion, loadOrigin }: UseYjsDocumentSyncInput): void;
15527
+ declare function useYjsDocumentSync(input: UseYjsDocumentSyncInput): void;
15496
15528
  //#endregion
15497
15529
  //#region src/viewer/hooks/collaboration/useBroadcastFollower.d.ts
15498
15530
  interface UseBroadcastFollowerInput {