pptx-vue-viewer 4.44.0 → 4.45.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 (61) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{AiChatPanel-BGWwcF0k.js → AiChatPanel-BVnemARt.js} +2 -2
  3. package/dist/AiChatPanel-BVnemARt.js.br +0 -0
  4. package/dist/AiChatPanel-BVnemARt.js.gz +0 -0
  5. package/dist/{AiChatPanel-6BBi_4MF.cjs → AiChatPanel-Xiq2AsYX.cjs} +1 -1
  6. package/dist/AiChatPanel-Xiq2AsYX.cjs.br +0 -0
  7. package/dist/AiChatPanel-Xiq2AsYX.cjs.gz +0 -0
  8. package/dist/index.cjs +1 -1
  9. package/dist/index.cjs.br +0 -0
  10. package/dist/index.cjs.gz +0 -0
  11. package/dist/index.d.ts +13 -0
  12. package/dist/index.js +2 -2
  13. package/dist/index.js.br +0 -0
  14. package/dist/index.js.gz +0 -0
  15. package/dist/internals.cjs +1 -1
  16. package/dist/internals.cjs.br +0 -0
  17. package/dist/internals.cjs.gz +0 -0
  18. package/dist/internals.d.ts +3 -0
  19. package/dist/internals.js +1 -1
  20. package/dist/internals.js.br +0 -0
  21. package/dist/internals.js.gz +0 -0
  22. package/dist/{useViewerSettingsDialog-ZrhB1hri.cjs → useViewerSettingsDialog-D6InSTG6.cjs} +136 -110
  23. package/dist/useViewerSettingsDialog-D6InSTG6.cjs.br +0 -0
  24. package/dist/{useViewerSettingsDialog-ZrhB1hri.cjs.gz → useViewerSettingsDialog-D6InSTG6.cjs.gz} +0 -0
  25. package/dist/{useViewerSettingsDialog-C8CtLKnI.js → useViewerSettingsDialog-DPG5VDMB.js} +2567 -2541
  26. package/dist/useViewerSettingsDialog-DPG5VDMB.js.br +0 -0
  27. package/dist/useViewerSettingsDialog-DPG5VDMB.js.gz +0 -0
  28. package/dist/viewer/index.cjs +1 -1
  29. package/dist/viewer/index.cjs.br +0 -0
  30. package/dist/viewer/index.cjs.gz +0 -0
  31. package/dist/viewer/index.d.ts +13 -0
  32. package/dist/viewer/index.js +2 -2
  33. package/dist/viewer/index.js.br +0 -0
  34. package/dist/viewer/index.js.gz +0 -0
  35. package/dist/{viewer-BwSDTF4b.js → viewer-CWgTBLKM.js} +6545 -6539
  36. package/dist/viewer-CWgTBLKM.js.br +0 -0
  37. package/dist/viewer-CWgTBLKM.js.gz +0 -0
  38. package/dist/{viewer-BZEPCKNP.cjs → viewer-v6sw9LNJ.cjs} +312 -306
  39. package/dist/viewer-v6sw9LNJ.cjs.br +0 -0
  40. package/dist/{viewer-BZEPCKNP.cjs.gz → viewer-v6sw9LNJ.cjs.gz} +0 -0
  41. package/dist/{y-webrtc-C6jlHQOv.cjs → y-webrtc-Cb8v01f2.cjs} +1 -1
  42. package/dist/y-webrtc-Cb8v01f2.cjs.br +0 -0
  43. package/dist/y-webrtc-Cb8v01f2.cjs.gz +0 -0
  44. package/dist/{y-webrtc-ugRXIsvG.js → y-webrtc-DDtmS1y0.js} +1 -1
  45. package/dist/y-webrtc-DDtmS1y0.js.br +0 -0
  46. package/dist/y-webrtc-DDtmS1y0.js.gz +0 -0
  47. package/package.json +3 -3
  48. package/dist/AiChatPanel-6BBi_4MF.cjs.br +0 -0
  49. package/dist/AiChatPanel-6BBi_4MF.cjs.gz +0 -0
  50. package/dist/AiChatPanel-BGWwcF0k.js.br +0 -0
  51. package/dist/AiChatPanel-BGWwcF0k.js.gz +0 -0
  52. package/dist/useViewerSettingsDialog-C8CtLKnI.js.br +0 -0
  53. package/dist/useViewerSettingsDialog-C8CtLKnI.js.gz +0 -0
  54. package/dist/useViewerSettingsDialog-ZrhB1hri.cjs.br +0 -0
  55. package/dist/viewer-BZEPCKNP.cjs.br +0 -0
  56. package/dist/viewer-BwSDTF4b.js.br +0 -0
  57. package/dist/viewer-BwSDTF4b.js.gz +0 -0
  58. package/dist/y-webrtc-C6jlHQOv.cjs.br +0 -0
  59. package/dist/y-webrtc-C6jlHQOv.cjs.gz +0 -0
  60. package/dist/y-webrtc-ugRXIsvG.js.br +0 -0
  61. package/dist/y-webrtc-ugRXIsvG.js.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs releases whenever any published file changes, not only on
8
8
  conventional commits.
9
9
 
10
+ ## [4.45.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.45.0) - 2026-10-22
11
+
12
+ ### Features
13
+
14
+ - **automation:** Define word, excel and visio tools once in core ([bed1839](https://github.com/ChristopherVR/ooxml/commit/bed18392fec1f07fa9a0c1eabf8a7c1bb25b0387))
15
+ - **pptx:** Report the shared collaboration state from every binding ([62752ef](https://github.com/ChristopherVR/ooxml/commit/62752efd7b2f9df8372db485cd23c2a6ed5f15ee))
16
+ - **automation:** Propose xlsx edits as a reviewable diff ([0e13837](https://github.com/ChristopherVR/ooxml/commit/0e13837c6fdf0766e21aa8a31ef69737df8ab203))
17
+ - **automation:** Add xlsx_propose_edits and xlsx_apply_proposal tools ([8c7500d](https://github.com/ChristopherVR/ooxml/commit/8c7500df317f1cffa3016705369e52b0a5ad0218))
18
+ - **pptx:** Define the powerpoint tools as shared automation tools ([88acafd](https://github.com/ChristopherVR/ooxml/commit/88acafd82419de2cefbebd4b91b935c378f8c772))
19
+ - **pptx:** Connect through a provider, webrtc or same-browser room ([4ae5288](https://github.com/ChristopherVR/ooxml/commit/4ae528882a33ec93730f30bf642589a00b6edf06))
20
+
21
+ ### Bug Fixes
22
+
23
+ - **pptx:** Render flowChart connector presets as shapes, not lines ([978593a](https://github.com/ChristopherVR/ooxml/commit/978593a0d0067d97105fd98b8d640dc929ec9f2b))
24
+ - **pptx:** Paint picture fills inherited from layout placeholders ([71b8196](https://github.com/ChristopherVR/ooxml/commit/71b81964ca4b19ef9cc143fa970479614426bd9d))
25
+
10
26
  ## [4.44.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.44.0) - 2026-10-21
11
27
 
12
28
  ### Features
@@ -1,5 +1,5 @@
1
- import { Hr as e } from "./useViewerSettingsDialog-C8CtLKnI.js";
2
- import { l as t, x as a } from "./viewer-BwSDTF4b.js";
1
+ import { Hr as e } from "./useViewerSettingsDialog-DPG5VDMB.js";
2
+ import { l as t, x as a } from "./viewer-CWgTBLKM.js";
3
3
  import { Fragment as r, Suspense as s, computed as l, createBlock as o, createCommentVNode as i, createElementBlock as n, createElementVNode as p, createTextVNode as d, createVNode as c, defineComponent as u, nextTick as m, normalizeClass as x, normalizeStyle as g, onBeforeUnmount as f, onMounted as b, openBlock as v, ref as y, renderList as h, resolveDynamicComponent as k, shallowRef as w, toDisplayString as C, unref as P, vModelText as T, watch as S, withAsyncContext as I, withCtx as j, withDirectives as _ } from "vue";
4
4
  import { Bot as A, ChartColumn as E, Check as M, Crosshair as F, Eye as B, Film as D, GitMerge as N, History as H, LayoutTemplate as L, LoaderCircle as R, MessageSquare as W, MessageSquarePlus as z, Move as V, Navigation as K, Palette as O, Pin as U, PinOff as $, Plus as q, Search as G, Send as J, Shapes as Q, Sparkles as X, Square as Y, StickyNote as Z, Table as ee, Trash2 as te, TriangleAlert as ae, Type as re, User as se, Wrench as le, X as oe } from "lucide-vue-next";
5
5
  import { createAiChatHistoryController as ie, createAiChatSession as ne, deckIdFromBridge as pe, describeToolActivity as de, extractReadyToolCalls as ce, focusTargetChips as ue, humanizeDiffLine as me, isAiAvailable as xe, isTwoTableFocus as ge, mergeTablesDirective as fe, summarizeToolArgs as be, toRenderableParts as ve, toolCanvasTarget as ye, toolLabel as he } from "ooxml-ui/pptx/ai";
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- const e = require("./useViewerSettingsDialog-ZrhB1hri.cjs"), t = require("./viewer-BZEPCKNP.cjs");
1
+ const e = require("./useViewerSettingsDialog-D6InSTG6.cjs"), t = require("./viewer-v6sw9LNJ.cjs");
2
2
  let r = require("vue"), a = require("lucide-vue-next"), n = require("ooxml-ui/pptx/ai");
3
3
  var o = { class: "border-t border-border p-2" }, l = { class: "flex items-end gap-1.5 rounded-md border border-input bg-background px-2 py-1.5 focus-within:border-ring" }, s = ["placeholder", "aria-label"], i = ["title", "aria-label"], c = [
4
4
  "disabled",
Binary file
Binary file
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-ZrhB1hri.cjs"), r = require("./viewer-BZEPCKNP.cjs");
2
+ const e = require("./useViewerSettingsDialog-D6InSTG6.cjs"), r = require("./viewer-v6sw9LNJ.cjs");
3
3
  let t = require("ooxml-ui/pptx");
4
4
  Object.defineProperty(exports, "AUDIENCE_HASH", {
5
5
  enumerable: !0,
package/dist/index.cjs.br CHANGED
Binary file
package/dist/index.cjs.gz CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ import { CollaborationInput } from 'ooxml-ui/pptx';
15
15
  import { CollaborationLivePatcher } from 'ooxml-ui/pptx';
16
16
  import { CollaborationRole } from 'ooxml-ui/pptx';
17
17
  import { CollaborationShellState } from 'ooxml-ui/pptx';
18
+ import { CollaborationState } from 'ooxml-core/collab';
18
19
  import { ComponentOptionsMixin } from 'vue';
19
20
  import { ComponentProvideOptions } from 'vue';
20
21
  import { ComputedRef } from 'vue';
@@ -156,6 +157,7 @@ declare const __VLS_export: DefineComponent<PowerPointViewerProps, PowerPointVie
156
157
  "selection-change": (elementIds: string[]) => any;
157
158
  "start-collaboration": (config: CollaborationConfig) => any;
158
159
  "stop-collaboration": () => any;
160
+ "collaboration-change": (state: CollaborationState) => any;
159
161
  }, string, PublicProps, Readonly<PowerPointViewerProps> & Readonly<{
160
162
  onError?: ((message: string) => any) | undefined;
161
163
  onLoad?: ((detail: ViewerLoadDetail) => any) | undefined;
@@ -169,6 +171,7 @@ declare const __VLS_export: DefineComponent<PowerPointViewerProps, PowerPointVie
169
171
  "onSelection-change"?: ((elementIds: string[]) => any) | undefined;
170
172
  "onStart-collaboration"?: ((config: CollaborationConfig) => any) | undefined;
171
173
  "onStop-collaboration"?: (() => any) | undefined;
174
+ "onCollaboration-change"?: ((state: CollaborationState) => any) | undefined;
172
175
  }>, {
173
176
  canEdit: boolean;
174
177
  barChart3D: boolean;
@@ -492,6 +495,8 @@ export { CollaborationRole }
492
495
 
493
496
  export { CollaborationShellState }
494
497
 
498
+ export { CollaborationState }
499
+
495
500
  export declare const CollaborationStatusIndicator: typeof __VLS_export_7;
496
501
 
497
502
  export { ConnectionStatus }
@@ -628,6 +633,12 @@ export declare interface PowerPointViewerEmits {
628
633
  (e: 'start-collaboration', config: CollaborationConfig): void;
629
634
  /** Fired when the user stops a collaboration session from the Share dialog. */
630
635
  (e: 'stop-collaboration'): void;
636
+ /**
637
+ * Fired with the shared `CollaborationState` when a session starts or stops (the off
638
+ * state) and when its status, synced flag or people change. Viewer-owned and host-owned
639
+ * (`collaboration.session`) sessions both report; unchanged states are not repeated.
640
+ */
641
+ (e: 'collaboration-change', state: CollaborationState): void;
631
642
  /** Fired each time a presentation finishes loading without an error. */
632
643
  (e: 'load', detail: ViewerLoadDetail): void;
633
644
  /** Fired once per distinct load failure, with a human-readable message. */
@@ -1368,6 +1379,8 @@ export declare interface UseCollaborationOptions {
1368
1379
  export declare interface UseCollaborationResult {
1369
1380
  /** Shared custom-shell permissions, connection status and sanitized presence. */
1370
1381
  shellState: ComputedRef<CollaborationShellState>;
1382
+ /** The shared `CollaborationState` a host reads (`collaboration-change`). */
1383
+ state: ComputedRef<CollaborationState>;
1371
1384
  /** The configuration attached by start() or the reactive collaboration option. */
1372
1385
  activeCollaboration: Ref<CollaborationConfig | null>;
1373
1386
  status: Ref< ConnectionStatus>;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Bn as a, C as s, S as o, Vn as e, it as r, lt as i, w as t, x as l } from "./useViewerSettingsDialog-C8CtLKnI.js";
2
- import { A as n, D as m, E as p, F as w, I as S, M as b, N as d, O as u, P as x, T as C, _ as f, a as g, b as v, c, d as j, f as P, g as R, h as V, i as y, j as B, k as D, m as E, o as F, p as I, s as M, u as O, v as T, w as h, x as k, y as A } from "./viewer-BwSDTF4b.js";
1
+ import { Bn as a, C as s, S as o, Vn as e, it as r, lt as i, w as t, x as l } from "./useViewerSettingsDialog-DPG5VDMB.js";
2
+ import { A as n, D as m, E as p, F as w, I as S, M as b, N as d, O as u, P as x, T as C, _ as f, a as g, b as v, c, d as j, f as P, g as R, h as V, i as y, j as B, k as D, m as E, o as F, p as I, s as M, u as O, v as T, w as h, x as k, y as A } from "./viewer-CWgTBLKM.js";
3
3
  import { BACKSTAGE_CARD_IDS as N, BACKSTAGE_PAGE_IDS as _, CANVAS_CONTEXT_MENU_COMMAND_IDS as q, EDITOR_SHORTCUT_ACTION_IDS as z, ELEMENT_CONTEXT_MENU_COMMAND_IDS as G, OPTIONS_PAGE_IDS as H, OPTIONS_SECTION_IDS as J, OPTIONS_SETTING_IDS as K, PPTX_OPEN_ACCEPT as L, PRESENTATION_OPEN_EXTENSIONS as Q, RIBBON_TAB_IDS as U, TOOLBAR_BUTTON_IDS as W, VIEWER_DIALOG_IDS as X, VIEWER_EXPORT_FORMAT_IDS as Y, VIEWER_FEATURE_IDS as Z, VIEWER_PANEL_IDS as $, createImageElementFromFile as aa, describeCollaborationShellState as sa, forgetSessionDeck as oa, getSessionTabId as ea, isLegacyBinaryPresentation as ra, isSupportedPresentationFile as ia, loadSessionDeck as ta, parsePresentationSessionId as la, presentationBaseName as na, rememberSessionDeck as ma, restoreSessionDeck as pa, savedPresentationFileName as wa } from "ooxml-ui/pptx";
4
4
  export { j as AUDIENCE_HASH, N as BACKSTAGE_CARD_IDS, _ as BACKSTAGE_PAGE_IDS, q as CANVAS_CONTEXT_MENU_COMMAND_IDS, T as CollaborationCursors, h as CollaborationStatusIndicator, z as EDITOR_SHORTCUT_ACTION_IDS, G as ELEMENT_CONTEXT_MENU_COMMAND_IDS, e as ElementRenderer, O as FollowModeBar, H as OPTIONS_PAGE_IDS, J as OPTIONS_SECTION_IDS, K as OPTIONS_SETTING_IDS, L as PPTX_OPEN_ACCEPT, Q as PRESENTATION_OPEN_EXTENSIONS, c as PowerPointViewer, U as RIBBON_TAB_IDS, f as RemoteSelectionOverlay, v as RibbonToolbar, A as SlideCanvas, a as SlideStage, W as TOOLBAR_BUTTON_IDS, X as VIEWER_DIALOG_IDS, Y as VIEWER_EXPORT_FORMAT_IDS, Z as VIEWER_FEATURE_IDS, $ as VIEWER_PANEL_IDS, P as clearAudienceContent, k as cn, aa as createImageElementFromFile, u as defaultCssVars, w as defaultRadius, S as defaultThemeColors, sa as describeCollaborationShellState, l as exportAllSlidesToSvg, o as exportAllSlidesToSvgBlobs, s as exportSlideToSvg, t as exportSlideToSvgBlob, oa as forgetSessionDeck, ea as getSessionTabId, I as isAudienceTab, ra as isLegacyBinaryPresentation, ia as isSupportedPresentationFile, E as loadAudienceContent, ta as loadSessionDeck, V as parseAudienceNonce, la as parsePresentationSessionId, na as presentationBaseName, C as provideViewerTheme, ma as rememberSessionDeck, r as renderToCanvas, pa as restoreSessionDeck, wa as savedPresentationFileName, R as storeAudienceContent, D as themeToCssVars, i as useCollaboration, y as useCollaborativeHistory, g as useCollaborativeState, F as usePresenceTracking, p as useThemeStyle, m as useViewerTheme, M as useYjsProvider, n as vermilionDarkColors, B as vermilionDarkTheme, b as vermilionLightColors, d as vermilionLightTheme, x as vermilionRadius };
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-ZrhB1hri.cjs");
2
+ const e = require("./useViewerSettingsDialog-D6InSTG6.cjs");
3
3
  let t = require("ooxml-ui/pptx");
4
4
  Object.defineProperty(exports, "CINEMATIC_TRANSITION_KEYFRAMES", {
5
5
  enumerable: !0,
Binary file
Binary file
@@ -17,6 +17,7 @@ import { CollaborationInput } from 'ooxml-ui/pptx';
17
17
  import { CollaborationLivePatcher } from 'ooxml-ui/pptx';
18
18
  import { CollaborationRole } from 'ooxml-ui/pptx';
19
19
  import { CollaborationShellState } from 'ooxml-ui/pptx';
20
+ import { CollaborationState } from 'ooxml-core/collab';
20
21
  import { CollaborationTransport } from 'ooxml-ui/pptx';
21
22
  import { CompareResult } from 'ooxml-ui/pptx';
22
23
  import { ComponentOptionsMixin } from 'vue';
@@ -1869,6 +1870,8 @@ export declare interface UseCollaborationOptions {
1869
1870
  export declare interface UseCollaborationResult {
1870
1871
  /** Shared custom-shell permissions, connection status and sanitized presence. */
1871
1872
  shellState: ComputedRef<CollaborationShellState>;
1873
+ /** The shared `CollaborationState` a host reads (`collaboration-change`). */
1874
+ state: ComputedRef<CollaborationState>;
1872
1875
  /** The configuration attached by start() or the reactive collaboration option. */
1873
1876
  activeCollaboration: Ref<CollaborationConfig | null>;
1874
1877
  status: Ref< ConnectionStatus>;
package/dist/internals.js CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as a, $n as s, $t as t, A as n, An as r, At as e, B as i, Bt as o, Ct as g, D as m, Dr as p, Dt as y, E as l, Er as v, Et as T, F as c, Fn as d, Ft as f, G as h, Gt as j, H as D, Ht as E, I as F, It as L, J as O, Jt as V, K as b, Kt as k, L as u, Lt as x, Mn as A, Mt as M, Nn as P, Nt as Q, O as $, On as _, Ot as q, Pn as w, Pt as z, Q as B, Qn as G, Qt as H, Rn as I, Rt as J, St as K, T as N, Tr as R, Tt as S, U, Ut as W, V as X, Vr as Y, Vt as Z, W as C, Wt as aa, X as sa, Xt as ta, Y as na, Yt as ra, Z as ea, Zt as ia, _ as oa, _n as ga, _t as ma, a as pa, ar as ya, at as la, b as va, bn as Ta, bt as ca, c as da, cn as fa, cr as ha, ct as ja, d as Da, dn as Ea, dr as Fa, en as La, er as Oa, et as Va, f as ba, fn as ka, ft as ua, g as xa, gn as Aa, gt as Ma, h as Pa, hn as Qa, ht as $a, i as _a, ir as qa, j as wa, jn as za, jt as Ba, k as Ga, kn as Ha, kt as Ia, l as Ja, ln as Ka, lt as Na, m as Ra, mn as Sa, mt as Ua, n as Wa, nr as Xa, nt as Ya, o as Za, or as Ca, ot as as, p as ss, pn as ts, pt as ns, q as rs, qt as es, r as is, rt as os, s as gs, sn as ms, sr as ps, st as ys, t as ls, tn as vs, tr as Ts, tt as cs, u as ds, un as fs, v as hs, vn as js, vr as Ds, vt as Es, wt as Fs, xt as Ls, y as Os, yn as Vs, yt as bs, z as ks, zt as us } from "./useViewerSettingsDialog-C8CtLKnI.js";
1
+ import { $ as a, $n as s, $t as t, A as n, An as r, At as e, B as i, Bt as o, Ct as g, D as m, Dr as p, Dt as y, E as l, Er as v, Et as T, F as c, Fn as d, Ft as f, G as h, Gt as j, H as D, Ht as E, I as F, It as L, J as O, Jt as V, K as b, Kt as k, L as u, Lt as x, Mn as A, Mt as M, Nn as P, Nt as Q, O as $, On as _, Ot as q, Pn as w, Pt as z, Q as B, Qn as G, Qt as H, Rn as I, Rt as J, St as K, T as N, Tr as R, Tt as S, U, Ut as W, V as X, Vr as Y, Vt as Z, W as C, Wt as aa, X as sa, Xt as ta, Y as na, Yt as ra, Z as ea, Zt as ia, _ as oa, _n as ga, _t as ma, a as pa, ar as ya, at as la, b as va, bn as Ta, bt as ca, c as da, cn as fa, cr as ha, ct as ja, d as Da, dn as Ea, dr as Fa, en as La, er as Oa, et as Va, f as ba, fn as ka, ft as ua, g as xa, gn as Aa, gt as Ma, h as Pa, hn as Qa, ht as $a, i as _a, ir as qa, j as wa, jn as za, jt as Ba, k as Ga, kn as Ha, kt as Ia, l as Ja, ln as Ka, lt as Na, m as Ra, mn as Sa, mt as Ua, n as Wa, nr as Xa, nt as Ya, o as Za, or as Ca, ot as as, p as ss, pn as ts, pt as ns, q as rs, qt as es, r as is, rt as os, s as gs, sn as ms, sr as ps, st as ys, t as ls, tn as vs, tr as Ts, tt as cs, u as ds, un as fs, v as hs, vn as js, vr as Ds, vt as Es, wt as Fs, xt as Ls, y as Os, yn as Vs, yt as bs, z as ks, zt as us } from "./useViewerSettingsDialog-DPG5VDMB.js";
2
2
  export { g as CINEMATIC_TRANSITION_KEYFRAMES, _a as DEFAULT_MAX_VERSIONS, Fs as DEFAULT_MORPH_DURATION_MS, R as DEFAULT_RENDERING_3D_FLAGS, S as DEFAULT_TRANSITION_DURATION_MS, T as EASE, es as ERASER_RADIUS, Ls as FragmentedTransitionLayer, V as HIGHLIGHTER_OPACITY, ra as HIGHLIGHTER_WIDTH, y as INSTANT, za as MOBILE_BREAKPOINT, A as MOBILE_LANDSCAPE_MAX_HEIGHT, ca as MorphExtraLayers, Sa as NUDGE_LARGE, Qa as NUDGE_SMALL, q as P14_TRANSITION_KEYFRAMES, Ia as P14_TRANSITION_KEYFRAMES_2, e as P14_TRANSITION_KEYFRAMES_ALL, ta as PEN_WIDTH, bs as PresentationTransitionOverlay, Ba as RANDOM_ELIGIBLE_TYPES, oa as RIBBON_ALIGN, v as Rendering3DFlagsKey, js as SHORTCUT_CATALOG, Vs as SHORTCUT_GROUP_LABEL_KEYS, M as SLIDE_TRANSITION_KEYFRAMES, Q as SLIDE_TRANSITION_KEYFRAMES_CSS, fa as SMARTART_COLOR_SCHEMES, Ka as SMARTART_STYLE_OPTIONS, P as TABLET_BREAKPOINT, z as TRANSITION_SPEED_DURATION_MS, G as TableSelectionKey, f as WHEEL_SPOKE_COUNTS, La as buildClickGroups, s as computeCellSelection, _ as computeDocumentStatistics, Ma as computeElapsed, Ha as countWords, ia as createStroke, H as eraseStrokesAtPoint, ma as formatRehearseMs, as as generateCommentId, L as getCinematicTransitionAnimations, x as getP14TransitionAnimations, J as getSlideTransitionAnimations, Ta as groupShortcutCatalog, Oa as injectTableSelection, ya as inlineEditorRect, w as isMobileViewport, Ca as nodeIdsInRenderOrder, n as parseSignaturesFromBuffer, Ts as provideTableSelection, us as resolveDirection, o as resolveDirection8, Z as resolveOrientation, Aa as resolveShortcutAction, E as resolveSlideTransition, W as resolveTransitionDurationMs, aa as resolveWheelSpokeCount, fs as smartArtLayoutLabel, ps as textNodeIdsInRenderOrder, hs as toShapePreset, Ua as useAccessibility, ns as useAlignGroup, vs as useAnimationPlayback, ua as useAutosave, ts as useChartEditing, Na as useCollaboration, ja as useCollaborationWiring, Ds as useColorChangeImage, ys as useComments, la as useCommentsWiring, os as useContextMenu, Ya as useCustomShows, cs as useCustomShowsWiring, ka as useDebouncedCallback, Va as useDocumentPropertiesDialog, r as useDocumentStatistics, a as useEditorHistory, B as useEditorKeyboard, ea as useEditorOperations, sa as useElementDrag, na as useElementInsertion, O as useEmbeddedFonts, rs as useExport, b as useExportProgress, C as useExportWiring, U as useFindReplace, D as useFontEmbedding, X as useFormatPainter, i as useHeaderFooterDialog, ks as useInkDrawing, u as useInlineEditing, F as useInsertElementDialogs, d as useIsMobile, c as useKeyboardInsets, ga as useKeyboardShortcuts, wa as useLoadContent, Ga as useMasterViewState, h as useMediaExport, $ as useMobileChrome, Fa as useModel3dScene, K as useMorphTransitionOverlay, m as useMultiSelectOps, l as usePasswordProtection, t as usePresentationAnnotations, N as usePresentationModeWiring, va as usePrint, Es as useRehearseTimings, p as useRendering3DFlags, Os as useRibbonActions, Wa as useRibbonProps, xa as useRibbonUiState, Pa as useSectionOperations, Ra as useSelectionPaneWiring, Y as useSheetDismissDrag, ss as useSignatureWorkflow, $a as useSignatures, ba as useSlideMutations, Da as useSlideOperations, ds as useSlideShowSettings, Ja as useSlideTemplateInsertion, ms as useSmartArtEditing, Ea as useSmartArtFocus, qa as useSmartArtHoverRect, ha as useSmartArtInlineEditState, da as useSmartArtNodeEditContext, gs as useTableCellEditingContext, Xa as useTableCellSelection, Za as useThemeEditing, k as useToolbarAutoHide, I as useToolbarVisibility, j as useTouchGestures, pa as useVersionHistory, is as useVersionHistoryWiring, ls as useViewerSettingsDialog };
Binary file
Binary file
@@ -8258,91 +8258,99 @@ function ed(e) {
8258
8258
  };
8259
8259
  }
8260
8260
  function td(e, t) {
8261
- const n = (0, d.ref)(!1), o = (0, u.createCollaborationLivePatcher)();
8262
- let l = null, a = null, r = null, i = !1, s = "", c = null, p = null;
8263
- const m = (0, u.createWriteBackScheduler)({
8264
- getYDoc: () => l,
8261
+ const n = (0, d.ref)(!1), o = (0, d.ref)(!1), l = (0, u.createCollaborationLivePatcher)();
8262
+ let a = null, r = null, i = null, s = !1, c = "", p = null, m = null;
8263
+ const v = (0, u.createWriteBackScheduler)({
8264
+ getYDoc: () => a,
8265
8265
  serialize: e.serialize,
8266
8266
  getSourceBytes: e.getSourceBytes,
8267
8267
  getTemplateElements: e.getTemplateElements,
8268
8268
  mergeTemplateElements: u.buildSaveSlides,
8269
8269
  getSaveOptions: e.getSaveOptions
8270
- }), v = (0, u.createSyncGate)(f);
8271
- function f() {
8272
- if (!l || !a || !r || i || !v.isOpen()) return;
8270
+ }), f = (0, u.createSyncGate)(() => {
8271
+ o.value = !0, h();
8272
+ }), g = {
8273
+ ...f,
8274
+ reset: () => {
8275
+ f.reset(), o.value = !1;
8276
+ }
8277
+ };
8278
+ function h() {
8279
+ if (!a || !r || !i || s || !g.isOpen()) return;
8273
8280
  if (e.slidesPaused?.()) return;
8274
- if ("viewer" === r.role || r.externalSession && !r.externalSession.getSnapshot().synced) return;
8281
+ if ("viewer" === i.role || i.externalSession && !i.externalSession.getSnapshot().synced) return;
8275
8282
  const t = JSON.stringify(e.slides.value);
8276
- t !== s && (s = t, (0, u.reconcileSlidesInYDoc)(e.slides.value, l, a), m.schedule(r));
8283
+ t !== c && (c = t, (0, u.reconcileSlidesInYDoc)(e.slides.value, a, r), v.schedule(i));
8277
8284
  }
8278
- function g(t) {
8279
- s = JSON.stringify(t), i = !0;
8285
+ function y(t) {
8286
+ c = JSON.stringify(t), s = !0;
8280
8287
  try {
8281
8288
  e.onRemoteSlides(t);
8282
8289
  } finally {
8283
- i = !1;
8290
+ s = !1;
8284
8291
  }
8285
8292
  }
8286
- const h = (0, d.watch)(e.slides, f, { deep: !1 }), y = e.loadVersion ? (k = {
8293
+ const k = (0, d.watch)(e.slides, h, { deep: !1 }), x = e.loadVersion ? (b = {
8287
8294
  loadVersion: e.loadVersion,
8288
- getYDoc: () => l,
8289
- isConnected: () => !r?.externalSession && "connected" === t.value,
8295
+ getYDoc: () => a,
8296
+ isConnected: () => !i?.externalSession && "connected" === t.value,
8290
8297
  getLoadOrigin: e.getLoadOrigin,
8291
- adoptDocSlides: g
8292
- }, (0, d.watch)(k.loadVersion, () => {
8293
- const e = k.getYDoc();
8294
- if (!e || !k.isConnected()) return;
8298
+ adoptDocSlides: y
8299
+ }, (0, d.watch)(b.loadVersion, () => {
8300
+ const e = b.getYDoc();
8301
+ if (!e || !b.isConnected()) return;
8295
8302
  const t = (0, u.readSlidesFromYDoc)(e);
8296
- (0, u.shouldRoomSlidesReplaceLoad)(k.getLoadOrigin?.(), t.length) && k.adoptDocSlides(t);
8303
+ (0, u.shouldRoomSlidesReplaceLoad)(b.getLoadOrigin?.(), t.length) && b.adoptDocSlides(t);
8297
8304
  }, { flush: "sync" })) : null;
8298
- var k;
8299
- const x = e.loadVersion ? (0, d.watch)(e.loadVersion, () => {
8300
- c?.handleLoad(e.getLoadOrigin?.() ?? "user");
8305
+ var b;
8306
+ const S = e.loadVersion ? (0, d.watch)(e.loadVersion, () => {
8307
+ p?.handleLoad(e.getLoadOrigin?.() ?? "user");
8301
8308
  }, { flush: "sync" }) : null;
8302
- function b() {
8303
- c?.(), c = null, p?.(), p = null, v.reset(), m.cancel(), o.configure(null, null), l = null, a = null, r = null, i = !1, s = "", n.value = !1;
8309
+ function w() {
8310
+ p?.(), p = null, m?.(), m = null, g.reset(), v.cancel(), l.configure(null, null), a = null, r = null, i = null, s = !1, c = "", n.value = !1;
8304
8311
  }
8305
8312
  return {
8306
8313
  readOnly: n,
8307
- livePatcher: o,
8308
- gate: v,
8314
+ synced: o,
8315
+ livePatcher: l,
8316
+ gate: g,
8309
8317
  begin: function(e) {
8310
- r = e, n.value = "viewer" === e.role || Boolean(e.externalSession);
8311
- },
8312
- attach: function(e, d) {
8313
- if (l = e, a = d, !r) return;
8314
- const h = r;
8315
- if (h.externalSession) return void (c = (0, u.observeExternalCollaborationReadiness)(h.externalSession, {
8316
- gate: v,
8317
- livePatcher: o,
8318
- factories: a,
8319
- role: h.role,
8320
- sessionIntent: h.sessionIntent,
8318
+ i = e, n.value = "viewer" === e.role || Boolean(e.externalSession);
8319
+ },
8320
+ attach: function(e, o) {
8321
+ if (a = e, r = o, !i) return;
8322
+ const d = i;
8323
+ if (d.externalSession) return void (p = (0, u.observeExternalCollaborationReadiness)(d.externalSession, {
8324
+ gate: g,
8325
+ livePatcher: l,
8326
+ factories: r,
8327
+ role: d.role,
8328
+ sessionIntent: d.sessionIntent,
8321
8329
  onStatus: (e) => {
8322
8330
  t.value = e;
8323
8331
  },
8324
8332
  adoptSlides: (e) => {
8325
- g(e), m.schedule(h);
8333
+ y(e), v.schedule(d);
8326
8334
  },
8327
8335
  onReady: ({ seedEmptyRoom: e }) => {
8328
- e && (s = ""), f();
8336
+ e && (c = ""), h();
8329
8337
  },
8330
- onSuspend: () => m.cancel(),
8338
+ onSuspend: () => v.cancel(),
8331
8339
  onReadOnlyChange: (e) => {
8332
8340
  n.value = e;
8333
8341
  }
8334
8342
  }));
8335
- o.configure("viewer" === h.role ? null : l, a), p = (0, u.observeYDocSlides)(l, (e, t) => {
8336
- if (t?.origin === u.LOCAL_SYNC_ORIGIN || i || !l) return;
8337
- const n = (0, u.readSlidesFromYDoc)(l);
8338
- n.length && (g(n), m.schedule(h));
8343
+ l.configure("viewer" === d.role ? null : a, r), m = (0, u.observeYDocSlides)(a, (e, t) => {
8344
+ if (t?.origin === u.LOCAL_SYNC_ORIGIN || s || !a) return;
8345
+ const n = (0, u.readSlidesFromYDoc)(a);
8346
+ n.length && (y(n), v.schedule(d));
8339
8347
  });
8340
- const y = (0, u.readSlidesFromYDoc)(l);
8341
- y.length && g(y);
8348
+ const f = (0, u.readSlidesFromYDoc)(a);
8349
+ f.length && y(f);
8342
8350
  },
8343
- stop: b,
8351
+ stop: w,
8344
8352
  dispose: () => {
8345
- b(), h(), y?.(), x?.();
8353
+ w(), k(), x?.(), S?.();
8346
8354
  }
8347
8355
  };
8348
8356
  }
@@ -8353,7 +8361,7 @@ function od(e) {
8353
8361
  return t > 0 ? t : nd;
8354
8362
  }
8355
8363
  function ld(e) {
8356
- const t = (0, d.ref)([]), n = (0, d.ref)([]), o = (0, d.ref)([]), l = (0, d.ref)(null), a = (0, d.computed)(() => t.value.find((e) => e.clientId === l.value)?.activeSlide ?? null), r = (0, d.computed)(() => t.value.find((e) => "owner" === e.role)?.activeSlide ?? null), i = function() {
8364
+ const t = (0, d.ref)([]), n = (0, d.ref)([]), o = (0, d.ref)([]), l = (0, d.ref)(null), a = (0, d.ref)(null), r = (0, d.computed)(() => t.value.find((e) => e.clientId === l.value)?.activeSlide ?? null), i = (0, d.computed)(() => t.value.find((e) => "owner" === e.role)?.activeSlide ?? null), s = function() {
8357
8365
  const e = (0, u.createPresenceProjector)();
8358
8366
  let t = [];
8359
8367
  return {
@@ -8387,37 +8395,38 @@ function ld(e) {
8387
8395
  }
8388
8396
  };
8389
8397
  }();
8390
- let s = null, c = null, p = 0, m = null;
8391
- function v() {
8392
- if (!s) return;
8393
- const a = i.project(s.getStates(), s.clientID ?? -1, od(e.canvasWidth), od(e.canvasHeight), p);
8398
+ let c = null, p = null, m = 0, v = null;
8399
+ function f() {
8400
+ if (!c) return;
8401
+ const a = s.project(c.getStates(), c.clientID ?? -1, od(e.canvasWidth), od(e.canvasHeight), m);
8394
8402
  a.changed && (t.value = a.presences, n.value = a.remoteUsers, o.value = a.cursors, null === l.value || a.presences.some((e) => e.clientId === l.value) || (l.value = null));
8395
8403
  }
8396
8404
  return {
8405
+ localClientId: a,
8397
8406
  remoteUsers: n,
8398
8407
  remotePresences: t,
8399
8408
  cursors: o,
8400
8409
  followedClientId: l,
8401
- followedSlideIndex: a,
8402
- broadcasterSlideIndex: r,
8410
+ followedSlideIndex: r,
8411
+ broadcasterSlideIndex: i,
8403
8412
  start: function(t, n) {
8404
- s = t, c = (0, u.createPresencePublisher)(t, {
8413
+ c = t, a.value = t.clientID ?? null, p = (0, u.createPresencePublisher)(t, {
8405
8414
  userName: n.userName,
8406
8415
  userColor: e.userColor ?? n.userColor ?? (0, u.assignUserColor)(n.userName),
8407
8416
  userAvatar: n.userAvatar,
8408
8417
  role: n.role
8409
- }), t.on("change", v), t.on("update", v), m = setInterval(() => c?.flush(), u.PRESENCE_HEARTBEAT_MS), v();
8418
+ }), t.on("change", f), t.on("update", f), v = setInterval(() => p?.flush(), u.PRESENCE_HEARTBEAT_MS), f();
8410
8419
  },
8411
8420
  stop: function() {
8412
- null !== m && clearInterval(m), m = null, s?.off?.("change", v), s?.off?.("update", v), c?.dispose(), c = null, s = null, p = 0, i.reset(), t.value = [], n.value = [], o.value = [], l.value = null;
8421
+ null !== v && clearInterval(v), v = null, c?.off?.("change", f), c?.off?.("update", f), p?.dispose(), p = null, c = null, m = 0, s.reset(), t.value = [], n.value = [], o.value = [], l.value = null, a.value = null;
8413
8422
  },
8414
- setCursor: (e, t) => c?.update({
8423
+ setCursor: (e, t) => p?.update({
8415
8424
  cursorX: e,
8416
8425
  cursorY: t
8417
8426
  }),
8418
- setSelection: (e) => c?.update({ selectedElementId: e[0] }),
8427
+ setSelection: (e) => p?.update({ selectedElementId: e[0] }),
8419
8428
  setActiveSlide: (e) => {
8420
- p = Math.max(0, Math.floor(e)), c?.update({ activeSlideIndex: p }), v();
8429
+ m = Math.max(0, Math.floor(e)), p?.update({ activeSlideIndex: m }), f();
8421
8430
  },
8422
8431
  followUser: (e) => {
8423
8432
  l.value = e;
@@ -8433,40 +8442,56 @@ function ad(e) {
8433
8442
  sourceError: (0, d.toValue)(e.sourceError) ?? !1,
8434
8443
  status: n.value,
8435
8444
  remoteUsers: i.remoteUsers.value
8436
- })), p = (0, d.computed)(() => i.remotePresences.value.length + (l.value ? 1 : 0));
8437
- let m = null, v = null, f = null, g = null, h = null, y = 0;
8438
- async function k(e) {
8439
- x();
8440
- const t = ++y;
8441
- h = e, a.value = e, r.value = e.role, s.begin(e);
8442
- const o = e.externalSession;
8445
+ })), p = (0, d.computed)(() => (0, u.buildCollaborationState)({
8446
+ active: l.value,
8447
+ roomId: a.value?.roomId,
8448
+ status: n.value,
8449
+ synced: s.synced.value,
8450
+ clientId: i.localClientId.value,
8451
+ userName: a.value?.userName,
8452
+ userColor: e.userColor ?? a.value?.userColor,
8453
+ remoteUsers: i.remoteUsers.value
8454
+ })), m = (0, d.computed)(() => i.remotePresences.value.length + (l.value ? 1 : 0));
8455
+ let v = null, f = null, g = null, h = null, y = null, k = null, x = 0;
8456
+ async function b(e) {
8457
+ S();
8458
+ const t = ++x;
8459
+ y = e, a.value = e, r.value = e.role, s.begin(e);
8460
+ let o = e;
8443
8461
  try {
8444
- (0, u.validateRoomId)(e.roomId);
8445
- const a = e.transport ?? (0, u.resolveTransportForServerUrl)(e.serverUrl);
8446
- if (!o && "websocket" === a && (0, u.isMixedContentBlocked)(e.serverUrl)) throw new Error("Mixed-content connection blocked");
8462
+ if ((0, u.validateRoomId)(e.roomId), (0, u.needsOwnedSession)(e)) {
8463
+ n.value = "connecting";
8464
+ const l = (0, u.openOwnedCollaboration)(e);
8465
+ k = l.release;
8466
+ const a = await l.ready;
8467
+ if (t !== x || !a) return;
8468
+ o = a, s.begin(o);
8469
+ }
8470
+ const a = o.externalSession, r = o.transport ?? (0, u.resolveTransportForServerUrl)(o.serverUrl);
8471
+ if (!a && "websocket" === r && (0, u.isMixedContentBlocked)(o.serverUrl)) throw new Error("Mixed-content connection blocked");
8447
8472
  n.value = "connecting";
8448
- const r = await import("yjs");
8449
- if (t !== y) return;
8450
- const c = o ? null : new r.Doc(), d = o?.doc ?? c;
8451
- m = c;
8452
- const p = {
8453
- createMap: () => new r.Map(),
8454
- createArray: () => new r.Array(),
8455
- createText: () => new r.Text(),
8473
+ const c = await import("yjs");
8474
+ if (t !== x) return;
8475
+ const d = a ? null : new c.Doc(), p = a?.doc ?? d;
8476
+ v = d;
8477
+ const m = {
8478
+ createMap: () => new c.Map(),
8479
+ createArray: () => new c.Array(),
8480
+ createText: () => new c.Text(),
8456
8481
  createTextPositions: (e) => (0, u.createSnapshotTextPositions)(e, {
8457
- read: () => r.snapshot(d),
8458
- equal: r.equalSnapshots,
8459
- subscribeBeforeObservers: (e) => (d.on("beforeObserverCalls", e), () => d.off("beforeObserverCalls", e))
8482
+ read: () => c.snapshot(p),
8483
+ equal: c.equalSnapshots,
8484
+ subscribeBeforeObservers: (e) => (p.on("beforeObserverCalls", e), () => p.off("beforeObserverCalls", e))
8460
8485
  })
8461
8486
  };
8462
- if (o) {
8463
- const t = (0, u.borrowExternalCollaborationAwareness)(o.awareness);
8464
- f = t.dispose, i.start(t.awareness, e), l.value = !0, s.attach(d, p);
8487
+ if (a) {
8488
+ const e = (0, u.borrowExternalCollaborationAwareness)(a.awareness);
8489
+ g = e.dispose, i.start(e.awareness, o), l.value = !0, s.attach(p, m);
8465
8490
  return;
8466
8491
  }
8467
- const h = await async function(e, t, n) {
8492
+ const y = await async function(e, t, n) {
8468
8493
  if ("webrtc" === e) {
8469
- const { WebrtcProvider: e } = await Promise.resolve().then(() => require("./y-webrtc-C6jlHQOv.cjs")), o = new e(t.roomId, n, {
8494
+ const { WebrtcProvider: e } = await Promise.resolve().then(() => require("./y-webrtc-Cb8v01f2.cjs")), o = new e(t.roomId, n, {
8470
8495
  signaling: t.signaling?.length ? t.signaling : void 0,
8471
8496
  password: t.authToken || void 0
8472
8497
  }), l = (0, u.createDepartureChannel)(t.roomId, o.awareness);
@@ -8498,44 +8523,45 @@ function ad(e) {
8498
8523
  a.announce(), a.dispose(), (0, u.clearLocalAwareness)(l.awareness), l.disconnect(), l.destroy();
8499
8524
  }
8500
8525
  };
8501
- }(a, e, c);
8502
- if (t !== y) return h.destroy(), void c.destroy();
8503
- v = h, i.start(h.awareness, e), s.attach(d, p), h.onSynced(() => s.gate.open()), h.syncedNow ? s.gate.open() : s.gate.arm(), h.onStatus((e) => {
8504
- e ? (null !== g && clearTimeout(g), g = null, n.value = "connected") : l.value && (n.value = "disconnected", s.gate.reset(), s.gate.arm());
8505
- }), "webrtc" === a || h.connectedNow ? n.value = "connected" : g = setTimeout(() => {
8506
- g = null, "connected" !== n.value && (x(), n.value = "error");
8526
+ }(r, o, d);
8527
+ if (t !== x) return y.destroy(), void d.destroy();
8528
+ f = y, i.start(y.awareness, o), s.attach(p, m), y.onSynced(() => s.gate.open()), y.syncedNow ? s.gate.open() : s.gate.arm(), y.onStatus((e) => {
8529
+ e ? (null !== h && clearTimeout(h), h = null, n.value = "connected") : l.value && (n.value = "disconnected", s.gate.reset(), s.gate.arm());
8530
+ }), "webrtc" === r || y.connectedNow ? n.value = "connected" : h = setTimeout(() => {
8531
+ h = null, "connected" !== n.value && (S(), n.value = "error");
8507
8532
  }, u.CONNECTION_TIMEOUT_MS), l.value = !0;
8508
8533
  } catch {
8509
- if (t !== y) return;
8510
- x(), n.value = "error";
8534
+ if (t !== x) return;
8535
+ S(), n.value = "error";
8511
8536
  }
8512
8537
  }
8513
- function x() {
8514
- y++, s.stop(), null !== g && clearTimeout(g), g = null, i.stop(), f?.(), f = null, v?.destroy(), m?.destroy(), v = null, m = null, n.value = "disconnected", l.value = !1, a.value = null, r.value = void 0;
8538
+ function S() {
8539
+ x++, s.stop(), null !== h && clearTimeout(h), h = null, i.stop(), g?.(), g = null, k?.(), k = null, f?.destroy(), v?.destroy(), f = null, v = null, n.value = "disconnected", l.value = !1, a.value = null, r.value = void 0;
8515
8540
  }
8516
- async function b() {
8517
- h && await k(h);
8541
+ async function w() {
8542
+ y && await b(y);
8518
8543
  }
8519
8544
  (0, d.watch)(t, (e) => {
8520
- e && e !== a.value ? k(e) : !e && a.value && x();
8545
+ e && e !== a.value ? b(e) : !e && a.value && S();
8521
8546
  }, { immediate: !0 });
8522
- const S = (0, u.registerCollaborationTeardown)({
8523
- leave: x,
8547
+ const E = (0, u.registerCollaborationTeardown)({
8548
+ leave: S,
8524
8549
  rejoin: () => {
8525
- b();
8550
+ w();
8526
8551
  },
8527
- leaveOnBeforeUnload: () => !h?.externalSession
8552
+ leaveOnBeforeUnload: () => !y?.externalSession
8528
8553
  });
8529
8554
  return (0, d.onScopeDispose)(() => {
8530
- S(), x(), s.dispose();
8555
+ E(), S(), s.dispose();
8531
8556
  }), {
8557
+ state: p,
8532
8558
  shellState: c,
8533
8559
  activeCollaboration: a,
8534
8560
  status: n,
8535
8561
  connected: o,
8536
8562
  active: l,
8537
8563
  activeRole: r,
8538
- connectedCount: p,
8564
+ connectedCount: m,
8539
8565
  readOnly: s.readOnly,
8540
8566
  cursors: i.cursors,
8541
8567
  remotePresences: i.remotePresences,
@@ -8546,9 +8572,9 @@ function ad(e) {
8546
8572
  setSelection: i.setSelection,
8547
8573
  setActiveSlide: i.setActiveSlide,
8548
8574
  followUser: i.followUser,
8549
- start: k,
8550
- stop: x,
8551
- retry: b,
8575
+ start: b,
8576
+ stop: S,
8577
+ retry: w,
8552
8578
  livePatcher: s.livePatcher
8553
8579
  };
8554
8580
  }