pptx-react-viewer 2.0.0 → 2.2.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 (112) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +1 -1
  3. package/dist/{AiChatPanel-BRGQCYZM.mjs → AiChatPanel-JFCJCR3O.mjs} +3 -3
  4. package/dist/AiChatPanel-JFCJCR3O.mjs.br +0 -0
  5. package/dist/AiChatPanel-JFCJCR3O.mjs.gz +0 -0
  6. package/dist/{AiChatPanel-PW5OT25Z.js → AiChatPanel-S3FWARWG.js} +11 -11
  7. package/dist/AiChatPanel-S3FWARWG.js.br +0 -0
  8. package/dist/AiChatPanel-S3FWARWG.js.gz +0 -0
  9. package/dist/{Model3DScene-JCGYRKXM.js → Model3DScene-BZK4UHL4.js} +2 -2
  10. package/dist/Model3DScene-BZK4UHL4.js.br +0 -0
  11. package/dist/Model3DScene-BZK4UHL4.js.gz +0 -0
  12. package/dist/{Model3DScene-TEF362W2.mjs → Model3DScene-RCZCBW52.mjs} +1 -1
  13. package/dist/{Model3DScene-TEF362W2.mjs.br → Model3DScene-RCZCBW52.mjs.br} +0 -0
  14. package/dist/Model3DScene-RCZCBW52.mjs.gz +0 -0
  15. package/dist/PowerPointViewer-gmU5rc7K.d.ts.map +1 -1
  16. package/dist/{SurfaceChart3DScene-2SHCYZVC.js → SurfaceChart3DScene-EGPAMPX4.js} +2 -2
  17. package/dist/SurfaceChart3DScene-EGPAMPX4.js.br +0 -0
  18. package/dist/SurfaceChart3DScene-EGPAMPX4.js.gz +0 -0
  19. package/dist/{SurfaceChart3DScene-UPDCIMJM.mjs → SurfaceChart3DScene-IRLH4ADG.mjs} +1 -1
  20. package/dist/{SurfaceChart3DScene-UPDCIMJM.mjs.br → SurfaceChart3DScene-IRLH4ADG.mjs.br} +0 -0
  21. package/dist/SurfaceChart3DScene-IRLH4ADG.mjs.gz +0 -0
  22. package/dist/{chunk-LFXG7SGG.js → chunk-3KD6S6VM.js} +1111 -830
  23. package/dist/chunk-3KD6S6VM.js.br +0 -0
  24. package/dist/chunk-3KD6S6VM.js.gz +0 -0
  25. package/dist/{chunk-L63RAVM7.mjs → chunk-6BUR4MJO.mjs} +358 -77
  26. package/dist/chunk-6BUR4MJO.mjs.br +0 -0
  27. package/dist/chunk-6BUR4MJO.mjs.gz +0 -0
  28. package/dist/{chunk-ZB4NZRCI.js → chunk-JPJBOVU7.js} +423 -332
  29. package/dist/chunk-JPJBOVU7.js.br +0 -0
  30. package/dist/chunk-JPJBOVU7.js.gz +0 -0
  31. package/dist/{chunk-5XLLRPMV.mjs → chunk-L4ETDT4F.mjs} +174 -84
  32. package/dist/chunk-L4ETDT4F.mjs.br +0 -0
  33. package/dist/chunk-L4ETDT4F.mjs.gz +0 -0
  34. package/dist/{chunk-2X72MOPZ.mjs → chunk-PZTPX3HK.mjs} +10 -1
  35. package/dist/chunk-PZTPX3HK.mjs.br +0 -0
  36. package/dist/chunk-PZTPX3HK.mjs.gz +0 -0
  37. package/dist/{chunk-R2N2UYT7.mjs → chunk-RLK72AOU.mjs} +403 -3
  38. package/dist/chunk-RLK72AOU.mjs.br +0 -0
  39. package/dist/{chunk-R2N2UYT7.mjs.gz → chunk-RLK72AOU.mjs.gz} +0 -0
  40. package/dist/{chunk-ZKDE3HJI.js → chunk-RNZJKGA7.js} +219 -219
  41. package/dist/chunk-RNZJKGA7.js.br +0 -0
  42. package/dist/chunk-RNZJKGA7.js.gz +0 -0
  43. package/dist/{chunk-B6NRDUHJ.mjs → chunk-SOHIKHL4.mjs} +3 -3
  44. package/dist/chunk-SOHIKHL4.mjs.br +0 -0
  45. package/dist/chunk-SOHIKHL4.mjs.gz +0 -0
  46. package/dist/{chunk-OKOJVSKJ.js → chunk-UTTXH3GH.js} +410 -2
  47. package/dist/chunk-UTTXH3GH.js.br +0 -0
  48. package/dist/{chunk-OKOJVSKJ.js.gz → chunk-UTTXH3GH.js.gz} +0 -0
  49. package/dist/{chunk-CUUYYYC5.js → chunk-YIFO3WQO.js} +10 -1
  50. package/dist/chunk-YIFO3WQO.js.br +0 -0
  51. package/dist/chunk-YIFO3WQO.js.gz +0 -0
  52. package/dist/i18n.js +4 -4
  53. package/dist/i18n.js.br +0 -0
  54. package/dist/i18n.js.gz +0 -0
  55. package/dist/i18n.mjs +1 -1
  56. package/dist/i18n.mjs.br +0 -0
  57. package/dist/i18n.mjs.gz +0 -0
  58. package/dist/{index-a8wcFjRJ.d.ts → index-CDCSXtK3.d.ts} +32 -16
  59. package/dist/index-CDCSXtK3.d.ts.map +1 -0
  60. package/dist/index.js +35 -35
  61. package/dist/index.js.br +0 -0
  62. package/dist/index.js.gz +0 -0
  63. package/dist/index.mjs +5 -5
  64. package/dist/index.mjs.br +0 -0
  65. package/dist/index.mjs.gz +0 -0
  66. package/dist/internals.d.ts +142 -14
  67. package/dist/internals.d.ts.map +1 -1
  68. package/dist/internals.js +79 -79
  69. package/dist/internals.js.br +0 -0
  70. package/dist/internals.js.gz +0 -0
  71. package/dist/internals.mjs +4 -4
  72. package/dist/internals.mjs.br +0 -0
  73. package/dist/internals.mjs.gz +0 -0
  74. package/dist/pptx-viewer.css +1 -1
  75. package/dist/pptx-viewer.css.br +0 -0
  76. package/dist/pptx-viewer.css.gz +0 -0
  77. package/dist/viewer/index.js +21 -21
  78. package/dist/viewer/index.js.br +0 -0
  79. package/dist/viewer/index.js.gz +0 -0
  80. package/dist/viewer/index.mjs +5 -5
  81. package/dist/viewer/index.mjs.br +0 -0
  82. package/dist/viewer/index.mjs.gz +0 -0
  83. package/package.json +5 -3
  84. package/dist/AiChatPanel-BRGQCYZM.mjs.br +0 -0
  85. package/dist/AiChatPanel-BRGQCYZM.mjs.gz +0 -0
  86. package/dist/AiChatPanel-PW5OT25Z.js.br +0 -0
  87. package/dist/AiChatPanel-PW5OT25Z.js.gz +0 -0
  88. package/dist/Model3DScene-JCGYRKXM.js.br +0 -0
  89. package/dist/Model3DScene-JCGYRKXM.js.gz +0 -0
  90. package/dist/Model3DScene-TEF362W2.mjs.gz +0 -0
  91. package/dist/SurfaceChart3DScene-2SHCYZVC.js.br +0 -0
  92. package/dist/SurfaceChart3DScene-2SHCYZVC.js.gz +0 -0
  93. package/dist/SurfaceChart3DScene-UPDCIMJM.mjs.gz +0 -0
  94. package/dist/chunk-2X72MOPZ.mjs.br +0 -0
  95. package/dist/chunk-2X72MOPZ.mjs.gz +0 -0
  96. package/dist/chunk-5XLLRPMV.mjs.br +0 -0
  97. package/dist/chunk-5XLLRPMV.mjs.gz +0 -0
  98. package/dist/chunk-B6NRDUHJ.mjs.br +0 -0
  99. package/dist/chunk-B6NRDUHJ.mjs.gz +0 -0
  100. package/dist/chunk-CUUYYYC5.js.br +0 -0
  101. package/dist/chunk-CUUYYYC5.js.gz +0 -0
  102. package/dist/chunk-L63RAVM7.mjs.br +0 -0
  103. package/dist/chunk-L63RAVM7.mjs.gz +0 -0
  104. package/dist/chunk-LFXG7SGG.js.br +0 -0
  105. package/dist/chunk-LFXG7SGG.js.gz +0 -0
  106. package/dist/chunk-OKOJVSKJ.js.br +0 -0
  107. package/dist/chunk-R2N2UYT7.mjs.br +0 -0
  108. package/dist/chunk-ZB4NZRCI.js.br +0 -0
  109. package/dist/chunk-ZB4NZRCI.js.gz +0 -0
  110. package/dist/chunk-ZKDE3HJI.js.br +0 -0
  111. package/dist/chunk-ZKDE3HJI.js.gz +0 -0
  112. package/dist/index-a8wcFjRJ.d.ts.map +0 -1
@@ -17585,7 +17585,7 @@ function reconcileComplexFields(ymap, rec, fields) {
17585
17585
  }
17586
17586
  }
17587
17587
  }
17588
- function reconcileTextBody(ymap, rec, factories) {
17588
+ function reconcileElementTextBody(ymap, rec, factories) {
17589
17589
  const segments = rec.textSegments;
17590
17590
  const current = ymap.get("textBody");
17591
17591
  if (!Array.isArray(segments)) {
@@ -17611,7 +17611,7 @@ function reconcileElementYMap(ymap, element, factories, assets) {
17611
17611
  const rec = element;
17612
17612
  reconcileScalars(ymap, rec, SCALAR_ELEMENT_KEYS);
17613
17613
  reconcileComplexFields(ymap, rec, COMPLEX_ELEMENT_FIELDS);
17614
- reconcileTextBody(ymap, rec, factories);
17614
+ reconcileElementTextBody(ymap, rec, factories);
17615
17615
  reconcileAssetFields(rec.id, rec, ymap, assets);
17616
17616
  }
17617
17617
  function mapIdAt(arr, index) {
@@ -17709,6 +17709,175 @@ function reconcileSlidesInYDoc(slides, ydoc, factories, origin = LOCAL_SYNC_ORIG
17709
17709
  });
17710
17710
  }, origin);
17711
17711
  }
17712
+ var GEOMETRY_KEYS = ["x", "y", "width", "height", "rotation"];
17713
+ var MAX_LIVE_TEXT_LENGTH = 1e5;
17714
+ var asMap = (value) => typeof value === "object" && value !== null && typeof value.get === "function" ? value : void 0;
17715
+ var asArray = (value) => typeof value === "object" && value !== null && typeof value.get === "function" ? value : void 0;
17716
+ function findElementYMap(doc, slideId, elementId) {
17717
+ const slidesArr = doc.getArray(YDOC_SLIDES_KEY);
17718
+ for (let i = 0; i < slidesArr.length; i++) {
17719
+ const slideMap = asMap(slidesArr.get(i));
17720
+ if (!slideMap || slideId !== void 0 && slideMap.get("id") !== slideId) {
17721
+ continue;
17722
+ }
17723
+ const elements = asArray(slideMap.get("elements"));
17724
+ if (!elements) {
17725
+ continue;
17726
+ }
17727
+ for (let j = 0; j < elements.length; j++) {
17728
+ const elementMap = asMap(elements.get(j));
17729
+ if (elementMap && elementMap.get("id") === elementId) {
17730
+ return elementMap;
17731
+ }
17732
+ }
17733
+ }
17734
+ return void 0;
17735
+ }
17736
+ function applyLivePatch(doc, factories, patch, textPatchLimit) {
17737
+ const ymap = findElementYMap(doc, patch.slideId, patch.elementId);
17738
+ if (!ymap) {
17739
+ return;
17740
+ }
17741
+ if (patch.geometry) {
17742
+ for (const key of GEOMETRY_KEYS) {
17743
+ const next = patch.geometry[key];
17744
+ if (typeof next === "number" && ymap.get(key) !== next) {
17745
+ ymap.set(key, next);
17746
+ }
17747
+ }
17748
+ }
17749
+ if (patch.text) {
17750
+ const { value, source } = patch.text;
17751
+ if (value.length > textPatchLimit) {
17752
+ return;
17753
+ }
17754
+ if (ymap.get("text") !== value) {
17755
+ ymap.set("text", value);
17756
+ }
17757
+ const segments = remapTextToSegments(value, source.textSegments, source.textStyle);
17758
+ reconcileElementTextBody(ymap, { textSegments: segments }, factories);
17759
+ }
17760
+ }
17761
+ var LIVE_PATCH_THROTTLE_MS = 50;
17762
+ function createCollaborationLivePatcher(options = {}) {
17763
+ const throttleMs = options.throttleMs ?? LIVE_PATCH_THROTTLE_MS;
17764
+ const pending = /* @__PURE__ */ new Map();
17765
+ let doc = null;
17766
+ let factories = null;
17767
+ let timer = null;
17768
+ let lastWriteAt = Number.NEGATIVE_INFINITY;
17769
+ const cancelTimer = () => {
17770
+ if (timer !== null) {
17771
+ clearTimeout(timer);
17772
+ timer = null;
17773
+ }
17774
+ };
17775
+ const writePending = () => {
17776
+ const activeDoc = doc;
17777
+ const activeFactories = factories;
17778
+ if (!activeDoc || !activeFactories || pending.size === 0) {
17779
+ pending.clear();
17780
+ return;
17781
+ }
17782
+ const patches = [...pending.values()];
17783
+ pending.clear();
17784
+ lastWriteAt = Date.now();
17785
+ try {
17786
+ activeDoc.transact(() => {
17787
+ for (const patch of patches) {
17788
+ applyLivePatch(activeDoc, activeFactories, patch, MAX_LIVE_TEXT_LENGTH);
17789
+ }
17790
+ }, LOCAL_SYNC_ORIGIN);
17791
+ } catch {
17792
+ }
17793
+ };
17794
+ const schedule = () => {
17795
+ if (timer !== null) {
17796
+ return;
17797
+ }
17798
+ const elapsed = Date.now() - lastWriteAt;
17799
+ if (elapsed >= throttleMs) {
17800
+ writePending();
17801
+ return;
17802
+ }
17803
+ timer = setTimeout(() => {
17804
+ timer = null;
17805
+ writePending();
17806
+ }, throttleMs - elapsed);
17807
+ };
17808
+ const enqueue = (slideId, elementId) => {
17809
+ if (!doc || !factories || !elementId) {
17810
+ return null;
17811
+ }
17812
+ const key = `${slideId ?? ""}\0${elementId}`;
17813
+ let entry = pending.get(key);
17814
+ if (!entry) {
17815
+ entry = { slideId, elementId };
17816
+ pending.set(key, entry);
17817
+ }
17818
+ return entry;
17819
+ };
17820
+ return {
17821
+ configure(nextDoc, nextFactories) {
17822
+ if (nextDoc === doc && nextFactories === factories) {
17823
+ return;
17824
+ }
17825
+ cancelTimer();
17826
+ pending.clear();
17827
+ doc = nextDoc;
17828
+ factories = nextFactories;
17829
+ lastWriteAt = Number.NEGATIVE_INFINITY;
17830
+ },
17831
+ isActive() {
17832
+ return doc !== null && factories !== null;
17833
+ },
17834
+ patchGeometry(slideId, elementId, geometry) {
17835
+ const entry = enqueue(slideId, elementId);
17836
+ if (!entry) {
17837
+ return;
17838
+ }
17839
+ entry.geometry = { ...entry.geometry, ...geometry };
17840
+ schedule();
17841
+ },
17842
+ patchText(slideId, elementId, text, source) {
17843
+ const entry = enqueue(slideId, elementId);
17844
+ if (!entry) {
17845
+ return;
17846
+ }
17847
+ entry.text = { value: text, source: source ?? entry.text?.source ?? {} };
17848
+ schedule();
17849
+ },
17850
+ flush() {
17851
+ cancelTimer();
17852
+ writePending();
17853
+ },
17854
+ dispose() {
17855
+ cancelTimer();
17856
+ pending.clear();
17857
+ doc = null;
17858
+ factories = null;
17859
+ }
17860
+ };
17861
+ }
17862
+ function publishLiveInlineText(patcher, slide, elementId, text) {
17863
+ if (!patcher || !slide || !elementId || !patcher.isActive()) {
17864
+ return;
17865
+ }
17866
+ const element = slide.elements.find((el) => el.id === elementId);
17867
+ if (!element || !hasTextProperties(element)) {
17868
+ return;
17869
+ }
17870
+ patcher.patchText(slide.id, elementId, text, {
17871
+ textSegments: element.textSegments,
17872
+ textStyle: element.textStyle
17873
+ });
17874
+ }
17875
+ function publishLiveGeometry(patcher, slideId, elementId, geometry) {
17876
+ if (!patcher || !elementId || !patcher.isActive()) {
17877
+ return;
17878
+ }
17879
+ patcher.patchGeometry(slideId, elementId, geometry);
17880
+ }
17712
17881
  function createSyncGate(onOpen, graceMs = INITIAL_SYNC_GRACE_MS) {
17713
17882
  let opened = false;
17714
17883
  let timer = null;
@@ -17741,6 +17910,144 @@ function createSyncGate(onOpen, graceMs = INITIAL_SYNC_GRACE_MS) {
17741
17910
  }
17742
17911
  };
17743
17912
  }
17913
+ var COLLAB_LEAVE_MESSAGE = "pptx-viewer:collab-leave";
17914
+ function resolveTarget(target) {
17915
+ if (target) {
17916
+ return target;
17917
+ }
17918
+ const scope = globalThis;
17919
+ return scope.window ?? null;
17920
+ }
17921
+ function isLeaveMessage(data) {
17922
+ if (typeof data === "string") {
17923
+ return data === COLLAB_LEAVE_MESSAGE;
17924
+ }
17925
+ if (typeof data !== "object" || data === null) {
17926
+ return false;
17927
+ }
17928
+ return data.type === COLLAB_LEAVE_MESSAGE;
17929
+ }
17930
+ function registerCollaborationTeardown(options) {
17931
+ const target = resolveTarget(options.target);
17932
+ if (!target) {
17933
+ return () => {
17934
+ };
17935
+ }
17936
+ const { leave, rejoin } = options;
17937
+ let left = false;
17938
+ const doLeave = () => {
17939
+ if (left) {
17940
+ return;
17941
+ }
17942
+ left = true;
17943
+ leave();
17944
+ };
17945
+ const onPageHide = (event) => {
17946
+ if (event.persisted === true && !rejoin) {
17947
+ return;
17948
+ }
17949
+ doLeave();
17950
+ };
17951
+ const onBeforeUnload = () => {
17952
+ doLeave();
17953
+ };
17954
+ const onPageShow = (event) => {
17955
+ if (event.persisted !== true || !left || !rejoin) {
17956
+ return;
17957
+ }
17958
+ left = false;
17959
+ rejoin();
17960
+ };
17961
+ const onMessage = (event) => {
17962
+ if (isLeaveMessage(event.data)) {
17963
+ doLeave();
17964
+ }
17965
+ };
17966
+ target.addEventListener("pagehide", onPageHide);
17967
+ target.addEventListener("beforeunload", onBeforeUnload);
17968
+ target.addEventListener("pageshow", onPageShow);
17969
+ target.addEventListener("message", onMessage);
17970
+ return () => {
17971
+ target.removeEventListener("pagehide", onPageHide);
17972
+ target.removeEventListener("beforeunload", onBeforeUnload);
17973
+ target.removeEventListener("pageshow", onPageShow);
17974
+ target.removeEventListener("message", onMessage);
17975
+ };
17976
+ }
17977
+ function clearLocalAwareness(awareness) {
17978
+ awareness?.setLocalState?.(null);
17979
+ }
17980
+ var DEPARTURE_CHANNEL = "pptx-viewer:collab-departures";
17981
+ function removeAwarenessStatesLocally(awareness, clients) {
17982
+ const states = awareness?.states;
17983
+ if (!awareness || !states) {
17984
+ return [];
17985
+ }
17986
+ const removed = [];
17987
+ for (const clientId of clients) {
17988
+ if (states.delete(clientId)) {
17989
+ removed.push(clientId);
17990
+ }
17991
+ }
17992
+ if (removed.length > 0) {
17993
+ const change = { added: [], updated: [], removed };
17994
+ awareness.emit?.("change", [change, "peer-departed"]);
17995
+ awareness.emit?.("update", [change, "peer-departed"]);
17996
+ }
17997
+ return removed;
17998
+ }
17999
+ function readNotice(data, roomId, selfId) {
18000
+ if (typeof data !== "object" || data === null) {
18001
+ return null;
18002
+ }
18003
+ const notice = data;
18004
+ if (notice.channel !== DEPARTURE_CHANNEL || notice.roomId !== roomId) {
18005
+ return null;
18006
+ }
18007
+ if (typeof notice.clientId !== "number" || notice.clientId === selfId) {
18008
+ return null;
18009
+ }
18010
+ return notice.clientId;
18011
+ }
18012
+ function defaultFactory(name) {
18013
+ const scope = globalThis;
18014
+ if (!scope.BroadcastChannel) {
18015
+ return null;
18016
+ }
18017
+ return new scope.BroadcastChannel(name);
18018
+ }
18019
+ function createDepartureChannel(roomId, awareness, factory) {
18020
+ const channel = factory ? factory(DEPARTURE_CHANNEL) : defaultFactory(DEPARTURE_CHANNEL);
18021
+ if (!channel) {
18022
+ return { announce: () => {
18023
+ }, dispose: () => {
18024
+ } };
18025
+ }
18026
+ const selfId = awareness.clientID;
18027
+ channel.onmessage = (event) => {
18028
+ const departed = readNotice(event.data, roomId, selfId);
18029
+ if (departed !== null) {
18030
+ removeAwarenessStatesLocally(awareness, [departed]);
18031
+ }
18032
+ };
18033
+ let closed = false;
18034
+ return {
18035
+ announce: () => {
18036
+ if (closed || typeof selfId !== "number") {
18037
+ return;
18038
+ }
18039
+ channel.postMessage({ channel: DEPARTURE_CHANNEL, roomId, clientId: selfId });
18040
+ },
18041
+ dispose: () => {
18042
+ if (closed) {
18043
+ return;
18044
+ }
18045
+ closed = true;
18046
+ channel.onmessage = null;
18047
+ channel.close();
18048
+ }
18049
+ };
18050
+ }
17744
18051
  var POSITION_THRESHOLD = 2;
17745
18052
  var SIZE_THRESHOLD = 2;
17746
18053
  function getElementText(element) {
@@ -22484,6 +22791,99 @@ async function clearAudienceContent(sessionId) {
22484
22791
  function formatSlideCounter(currentSlide, totalSlides) {
22485
22792
  return `${currentSlide + 1} / ${totalSlides}`;
22486
22793
  }
22794
+ function createPresentationKeyBuffer() {
22795
+ return { digits: "" };
22796
+ }
22797
+ var NEXT_KEYS = /* @__PURE__ */ new Set(["Enter", "PageDown", "ArrowRight", "ArrowDown", " ", "Spacebar"]);
22798
+ var PREVIOUS_KEYS = /* @__PURE__ */ new Set(["PageUp", "ArrowLeft", "ArrowUp", "Backspace"]);
22799
+ function isBare(input) {
22800
+ return !input.ctrlKey && !input.metaKey && !input.altKey;
22801
+ }
22802
+ function isControlChord(input) {
22803
+ return Boolean(input.ctrlKey || input.metaKey) && !input.altKey;
22804
+ }
22805
+ function mapPresentationKey(input, buffer = createPresentationKeyBuffer()) {
22806
+ const { key } = input;
22807
+ if (isControlChord(input)) {
22808
+ switch (key.toLowerCase()) {
22809
+ case "l":
22810
+ return { action: "pointerTool", tool: "laser" };
22811
+ case "p":
22812
+ return { action: "pointerTool", tool: "pen" };
22813
+ case "a":
22814
+ return { action: "pointerTool", tool: "arrow" };
22815
+ case "e":
22816
+ return { action: "pointerTool", tool: "eraser" };
22817
+ case "m":
22818
+ return { action: "toggleInkMarkup" };
22819
+ case "h":
22820
+ return { action: "toggleChrome" };
22821
+ case "s":
22822
+ return { action: "showAllSlides" };
22823
+ default:
22824
+ return { action: "none" };
22825
+ }
22826
+ }
22827
+ if (key === "F10" && input.shiftKey || key === "ContextMenu") {
22828
+ return { action: "contextMenu" };
22829
+ }
22830
+ if (isBare(input) && key.length === 1 && key >= "0" && key <= "9") {
22831
+ buffer.digits = (buffer.digits + key).slice(-4);
22832
+ return { action: "buffering", buffer: buffer.digits };
22833
+ }
22834
+ if (NEXT_KEYS.has(key)) {
22835
+ if (key === "Enter" && buffer.digits) {
22836
+ const slideNumber = Number.parseInt(buffer.digits, 10);
22837
+ buffer.digits = "";
22838
+ if (Number.isFinite(slideNumber) && slideNumber > 0) {
22839
+ return { action: "goto", slideNumber };
22840
+ }
22841
+ return { action: "none" };
22842
+ }
22843
+ buffer.digits = "";
22844
+ return { action: "next" };
22845
+ }
22846
+ if (PREVIOUS_KEYS.has(key)) {
22847
+ buffer.digits = "";
22848
+ return { action: "previous" };
22849
+ }
22850
+ if (key === "Home") {
22851
+ buffer.digits = "";
22852
+ return { action: "first" };
22853
+ }
22854
+ if (key === "End") {
22855
+ buffer.digits = "";
22856
+ return { action: "last" };
22857
+ }
22858
+ if (isBare(input)) {
22859
+ switch (key) {
22860
+ case "n":
22861
+ case "N":
22862
+ buffer.digits = "";
22863
+ return { action: "next" };
22864
+ case "p":
22865
+ case "P":
22866
+ buffer.digits = "";
22867
+ return { action: "previous" };
22868
+ case "b":
22869
+ case "B":
22870
+ case ".":
22871
+ return { action: "toggleBlackScreen" };
22872
+ case "w":
22873
+ case "W":
22874
+ case ",":
22875
+ return { action: "toggleWhiteScreen" };
22876
+ case "e":
22877
+ case "E":
22878
+ return { action: "eraseAnnotations" };
22879
+ case "Escape":
22880
+ case "-":
22881
+ buffer.digits = "";
22882
+ return { action: "end" };
22883
+ }
22884
+ }
22885
+ return { action: "none" };
22886
+ }
22487
22887
  var ACTION_BUTTON_PRESETS = [
22488
22888
  {
22489
22889
  shapeType: "actionButtonBackPrevious",
@@ -27201,4 +27601,4 @@ function segmentFrameCount(durationMs, fps) {
27201
27601
  return Math.max(1, Math.ceil(durationMs / (1e3 / fps)));
27202
27602
  }
27203
27603
 
27204
- export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BROADCAST_THROTTLE_MS, CATEGORIES, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_INSERT_CHART_TYPE, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EQUATION_TEMPLATES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MOBILE_BREAKPOINT, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, PATTERN_OPTIONS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESETS, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_VIRTUALIZATION_THRESHOLD, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, THEME_CATALOG, THEME_COLOR_LABELS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, WEBM_MIME_CANDIDATES, activateModalFocus, addQuickAccessCommand, addSection, alignElements, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyPreferenceToOptions, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, availableQuickAccessCommands, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildChartViewModel, buildCollaborationShareUrl, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneCacheKey, buildElementClipboardPayload, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSummaryZoomView, buildTextBody3DSceneStyle, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildUserFontFaceStyles, canvasToJpegData, cell3DBevelCss, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampUnitInterval, clearAllLocalViewerData, clearAudienceContent, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, computeAllNotesPages, computeAutoFitTextStyle, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createDefaultChartElement, createInitialPresentationSnapshot, createPresentationSessionId, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, derivePresenceList, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, encodeGif, erasePresentationInkAt, extractPathPoints, filterCommands, findChartPartTarget, findSmartArtNodeText, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCellDiagonalBorders, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleTypeColor, getOleTypeLabel, getPatternSvg, getPendingSelectionRestore, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hexToRgbChannels, insertTableColumn, insertTableRow, isActionHidden, isBrowserOpenableMime, isCellInRect, isEditableTextElement, isExportAbortError, isFirstSlide, isKeyboardOpen, isLastSlide, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationSessionMessage, isTemplateElement, isTemplateElementId, isUrlSafe, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, makeCloneId, makeSlideId, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mobileElapsedSince, mobileSlideCounter, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, openPptxFile, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parseMediaCommand, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, preprocessCssForCapture, presentationInkPath, presenterElapsed, pressuresToWidths, printPropertiesFrameSlides, printPropertiesSlidesPerPage, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, remapTextToSegments, removeQuickAccessCommand, renameSection, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveAudienceScreenPlacement, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveLineHeight, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, revealedSmartArtNodeCount, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeMathMl, saveAutosaveSnapshot, saveViewerProfile, scanAvailableFontFamilies, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor, setCachedResult, setDuotoneCachedResult, setPendingSelectionRestore, shadeColor2, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, stepPresenterZoom, storeAudienceContent, substituteFieldText, svgLineCap, swapPresentationWindows, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, togglePresenterTimer, transformTextCase, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs };
27604
+ export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BROADCAST_THROTTLE_MS, CATEGORIES, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_INSERT_CHART_TYPE, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EQUATION_TEMPLATES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MOBILE_BREAKPOINT, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, PATTERN_OPTIONS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESETS, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHORTCUT_REFERENCE_ITEMS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_VIRTUALIZATION_THRESHOLD, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, THEME_CATALOG, THEME_COLOR_LABELS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, WEBM_MIME_CANDIDATES, activateModalFocus, addQuickAccessCommand, addSection, alignElements, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyPreferenceToOptions, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, availableQuickAccessCommands, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildChartViewModel, buildCollaborationShareUrl, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneCacheKey, buildElementClipboardPayload, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSummaryZoomView, buildTextBody3DSceneStyle, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildUserFontFaceStyles, canvasToJpegData, cell3DBevelCss, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampUnitInterval, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, computeAllNotesPages, computeAutoFitTextStyle, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPresentationKeyBuffer, createPresentationSessionId, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, derivePresenceList, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, encodeGif, erasePresentationInkAt, extractPathPoints, filterCommands, findChartPartTarget, findSmartArtNodeText, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCellDiagonalBorders, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleTypeColor, getOleTypeLabel, getPatternSvg, getPendingSelectionRestore, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hexToRgbChannels, insertTableColumn, insertTableRow, isActionHidden, isBrowserOpenableMime, isCellInRect, isEditableTextElement, isExportAbortError, isFirstSlide, isKeyboardOpen, isLastSlide, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationSessionMessage, isTemplateElement, isTemplateElementId, isUrlSafe, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, makeCloneId, makeSlideId, mapPresentationKey, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mobileElapsedSince, mobileSlideCounter, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, openPptxFile, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parseMediaCommand, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, preprocessCssForCapture, presentationInkPath, presenterElapsed, pressuresToWidths, printPropertiesFrameSlides, printPropertiesSlidesPerPage, publishLiveGeometry, publishLiveInlineText, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, remapTextToSegments, removeQuickAccessCommand, renameSection, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveAudienceScreenPlacement, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveLineHeight, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, revealedSmartArtNodeCount, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeMathMl, saveAutosaveSnapshot, saveViewerProfile, scanAvailableFontFamilies, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor, setCachedResult, setDuotoneCachedResult, setPendingSelectionRestore, shadeColor2, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, stepPresenterZoom, storeAudienceContent, substituteFieldText, svgLineCap, swapPresentationWindows, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, togglePresenterTimer, transformTextCase, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs };
Binary file