pptx-vue-viewer 4.15.0 → 4.16.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 (100) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{AiChatPanel-DO91Z8Lq.cjs → AiChatPanel-BZzZv2dr.cjs} +1 -1
  3. package/dist/AiChatPanel-BZzZv2dr.cjs.br +0 -0
  4. package/dist/AiChatPanel-BZzZv2dr.cjs.gz +0 -0
  5. package/dist/{AiChatPanel-BzMiFZ0R.js → AiChatPanel-DOrHrjjW.js} +2 -2
  6. package/dist/AiChatPanel-DOrHrjjW.js.br +0 -0
  7. package/dist/AiChatPanel-DOrHrjjW.js.gz +0 -0
  8. package/dist/{dist-Bhq7gJcy.js → dist-B5vdQ68b.js} +1 -1
  9. package/dist/dist-B5vdQ68b.js.br +0 -0
  10. package/dist/{dist-Bhq7gJcy.js.gz → dist-B5vdQ68b.js.gz} +0 -0
  11. package/dist/{dist-9CFdanK_.cjs → dist-wfGDPjME.cjs} +5 -0
  12. package/dist/dist-wfGDPjME.cjs.br +0 -0
  13. package/dist/{dist-9CFdanK_.cjs.gz → dist-wfGDPjME.cjs.gz} +0 -0
  14. package/dist/gif-encoder-BApEGiRt.cjs +2 -0
  15. package/dist/gif-encoder-BApEGiRt.cjs.br +0 -0
  16. package/dist/gif-encoder-BApEGiRt.cjs.gz +0 -0
  17. package/dist/gif-encoder-CIddosN2.js +2 -0
  18. package/dist/gif-encoder-CIddosN2.js.br +0 -0
  19. package/dist/gif-encoder-CIddosN2.js.gz +0 -0
  20. package/dist/i18n/de.cjs +3 -0
  21. package/dist/i18n/de.cjs.br +0 -0
  22. package/dist/i18n/de.cjs.gz +0 -0
  23. package/dist/i18n/de.mjs +3 -0
  24. package/dist/i18n/de.mjs.br +0 -0
  25. package/dist/i18n/de.mjs.gz +0 -0
  26. package/dist/i18n/es.cjs +3 -0
  27. package/dist/i18n/es.cjs.br +0 -0
  28. package/dist/i18n/es.cjs.gz +0 -0
  29. package/dist/i18n/es.mjs +3 -0
  30. package/dist/i18n/es.mjs.br +0 -0
  31. package/dist/i18n/es.mjs.gz +0 -0
  32. package/dist/i18n/fr.cjs +3 -0
  33. package/dist/i18n/fr.cjs.br +0 -0
  34. package/dist/i18n/fr.cjs.gz +0 -0
  35. package/dist/i18n/fr.mjs +3 -0
  36. package/dist/i18n/fr.mjs.br +0 -0
  37. package/dist/i18n/fr.mjs.gz +0 -0
  38. package/dist/i18n/zh-CN.cjs +3 -0
  39. package/dist/i18n/zh-CN.cjs.br +0 -0
  40. package/dist/i18n/zh-CN.cjs.gz +0 -0
  41. package/dist/i18n/zh-CN.mjs +3 -0
  42. package/dist/i18n/zh-CN.mjs.br +0 -0
  43. package/dist/i18n/zh-CN.mjs.gz +0 -0
  44. package/dist/index.cjs +1 -1
  45. package/dist/index.cjs.br +0 -0
  46. package/dist/index.cjs.gz +0 -0
  47. package/dist/index.d.ts +25 -0
  48. package/dist/index.js +3 -3
  49. package/dist/index.js.br +0 -0
  50. package/dist/index.js.gz +0 -0
  51. package/dist/internals.cjs +1 -1
  52. package/dist/internals.cjs.br +0 -0
  53. package/dist/internals.cjs.gz +0 -0
  54. package/dist/internals.d.ts +139 -2
  55. package/dist/internals.js +2 -2
  56. package/dist/internals.js.br +0 -0
  57. package/dist/internals.js.gz +0 -0
  58. package/dist/pptx-vue-viewer.css +3 -3
  59. package/dist/pptx-vue-viewer.css.br +0 -0
  60. package/dist/pptx-vue-viewer.css.gz +0 -0
  61. package/dist/{useViewerSettingsDialog-BJ3C3JRR.js → useViewerSettingsDialog-oSt3ZWkj.js} +15030 -12277
  62. package/dist/useViewerSettingsDialog-oSt3ZWkj.js.br +0 -0
  63. package/dist/useViewerSettingsDialog-oSt3ZWkj.js.gz +0 -0
  64. package/dist/{useViewerSettingsDialog-BSTNSu9V.cjs → useViewerSettingsDialog-wKKQqMYe.cjs} +13699 -10901
  65. package/dist/useViewerSettingsDialog-wKKQqMYe.cjs.br +0 -0
  66. package/dist/useViewerSettingsDialog-wKKQqMYe.cjs.gz +0 -0
  67. package/dist/viewer/index.cjs +1 -1
  68. package/dist/viewer/index.cjs.br +0 -0
  69. package/dist/viewer/index.cjs.gz +0 -0
  70. package/dist/viewer/index.d.ts +23 -0
  71. package/dist/viewer/index.js +3 -3
  72. package/dist/viewer/index.js.br +0 -0
  73. package/dist/viewer/index.js.gz +0 -0
  74. package/dist/{viewer-AEbR-Kda.cjs → viewer-BURed1v4.cjs} +7634 -7664
  75. package/dist/viewer-BURed1v4.cjs.br +0 -0
  76. package/dist/viewer-BURed1v4.cjs.gz +0 -0
  77. package/dist/{viewer-D6z9VmNf.js → viewer-Bzu0ssqX.js} +11574 -11604
  78. package/dist/viewer-Bzu0ssqX.js.br +0 -0
  79. package/dist/viewer-Bzu0ssqX.js.gz +0 -0
  80. package/package.json +2 -2
  81. package/dist/AiChatPanel-BzMiFZ0R.js.br +0 -0
  82. package/dist/AiChatPanel-BzMiFZ0R.js.gz +0 -0
  83. package/dist/AiChatPanel-DO91Z8Lq.cjs.br +0 -0
  84. package/dist/AiChatPanel-DO91Z8Lq.cjs.gz +0 -0
  85. package/dist/dist-9CFdanK_.cjs.br +0 -0
  86. package/dist/dist-Bhq7gJcy.js.br +0 -0
  87. package/dist/gif-encoder-CH1-AOVk.cjs +0 -2
  88. package/dist/gif-encoder-CH1-AOVk.cjs.br +0 -0
  89. package/dist/gif-encoder-CH1-AOVk.cjs.gz +0 -0
  90. package/dist/gif-encoder-Dz8dlAcj.js +0 -2
  91. package/dist/gif-encoder-Dz8dlAcj.js.br +0 -0
  92. package/dist/gif-encoder-Dz8dlAcj.js.gz +0 -0
  93. package/dist/useViewerSettingsDialog-BJ3C3JRR.js.br +0 -0
  94. package/dist/useViewerSettingsDialog-BJ3C3JRR.js.gz +0 -0
  95. package/dist/useViewerSettingsDialog-BSTNSu9V.cjs.br +0 -0
  96. package/dist/useViewerSettingsDialog-BSTNSu9V.cjs.gz +0 -0
  97. package/dist/viewer-AEbR-Kda.cjs.br +0 -0
  98. package/dist/viewer-AEbR-Kda.cjs.gz +0 -0
  99. package/dist/viewer-D6z9VmNf.js.br +0 -0
  100. package/dist/viewer-D6z9VmNf.js.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,23 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs re-releases a package whenever any of its files
8
8
  change, not only on conventional ones.
9
9
 
10
+ ## [4.15.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@4.15.0) - 2026-09-30
11
+
12
+ ### Features
13
+
14
+ - **shared:** Add subtitle settings and migrate Record ribbon (by @ChristopherVR) ([a1549a0](https://github.com/ChristopherVR/pptx-viewer/commit/a1549a09ffafc99297d04e3f2313a2fd22acb2c8))
15
+
16
+ ### Bug Fixes
17
+
18
+ - **core:** Preserve selected layouts and template break order (by @ChristopherVR) ([6b5af9b](https://github.com/ChristopherVR/pptx-viewer/commit/6b5af9bf5d471b2bca532128f89f88276963ff52))
19
+ - **shared:** Preserve chained motion paths and animation triggers (by @ChristopherVR) ([41f3c4a](https://github.com/ChristopherVR/pptx-viewer/commit/41f3c4ab3ff922f0e3965d8c818be0406c3896ca))
20
+ - **shared:** Restore modal focus to shadow-root openers (by @ChristopherVR) ([c95f465](https://github.com/ChristopherVR/pptx-viewer/commit/c95f4657a6206c3984b1d7f19c78d024b3414d0a))
21
+
22
+ ### Refactor
23
+
24
+ - **shared:** Migrate slide show controls across bindings (by @ChristopherVR) ([263b007](https://github.com/ChristopherVR/pptx-viewer/commit/263b007666b90ad5c8d34d383689c91f6d6a65f8))
25
+ - **shared:** Migrate Help ribbon across all five bindings (by @ChristopherVR) ([7df8fc9](https://github.com/ChristopherVR/pptx-viewer/commit/7df8fc9ab505f478e42c100fda8ef62ee8b0a48e))
26
+
10
27
  ## [4.14.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vue-viewer@4.14.0) - 2026-09-29
11
28
 
12
29
  ### Features
@@ -1,4 +1,4 @@
1
- const e = require("./useViewerSettingsDialog-BSTNSu9V.cjs"), t = require("./viewer-AEbR-Kda.cjs");
1
+ const e = require("./useViewerSettingsDialog-wKKQqMYe.cjs"), t = require("./viewer-BURed1v4.cjs");
2
2
  let r = require("vue"), a = require("lucide-vue-next");
3
3
  var n = { class: "border-t border-border p-2" }, o = { class: "flex items-end gap-1.5 rounded-md border border-input bg-background px-2 py-1.5 focus-within:border-ring" }, l = ["placeholder", "aria-label"], s = ["title", "aria-label"], i = [
4
4
  "disabled",
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { Jn as e } from "./useViewerSettingsDialog-BJ3C3JRR.js";
2
- import { C as t, E as a, S as s, _ as r, b as l, d as o, f as n, g as i, h as p, m as d, o as c, p as u, u as m, v as x, x as g, y as f } from "./viewer-D6z9VmNf.js";
1
+ import { Jn as e } from "./useViewerSettingsDialog-oSt3ZWkj.js";
2
+ import { C as t, E as a, S as s, _ as r, b as l, d as o, f as n, g as i, h as p, m as d, o as c, p as u, u as m, v as x, x as g, y as f } from "./viewer-Bzu0ssqX.js";
3
3
  import { Fragment as b, Suspense as v, computed as y, createBlock as h, createCommentVNode as k, createElementBlock as w, createElementVNode as C, createTextVNode as P, createVNode as S, defineComponent as T, nextTick as I, normalizeClass as j, normalizeStyle as _, onBeforeUnmount as E, onMounted as A, openBlock as M, ref as F, renderList as B, resolveDynamicComponent as D, shallowRef as N, toDisplayString as L, unref as R, vModelText as H, watch as W, withAsyncContext as z, withCtx as V, withDirectives as K } from "vue";
4
4
  import { Bot as J, ChartColumn as O, Check as U, Crosshair as $, Eye as q, Film as G, GitMerge as Q, History as X, LayoutTemplate as Y, LoaderCircle as Z, MessageSquare as ee, MessageSquarePlus as te, Move as ae, Navigation as se, Palette as re, Pin as le, PinOff as oe, Plus as ne, Search as ie, Send as pe, Shapes as de, Sparkles as ce, Square as ue, StickyNote as me, Table as xe, Trash2 as ge, TriangleAlert as fe, Type as be, User as ve, Wrench as ye, X as he } from "lucide-vue-next";
5
5
  var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end gap-1.5 rounded-md border border-input bg-background px-2 py-1.5 focus-within:border-ring" }, Ce = ["placeholder", "aria-label"], Pe = ["title", "aria-label"], Se = [
Binary file
Binary file
@@ -121232,4 +121232,4 @@ var SWt = /* @__PURE__ */ new Set([
121232
121232
  }
121233
121233
  };
121234
121234
  qAt(), Di(), Cht();
121235
- export { UJ as $, rj as $n, _ot as $r, Fq as $t, ej as A, fUt as An, lXt as Ar, BUt as At, bK as B, da as Bn, zUt as Br, RUt as Bt, Kr as C, KH as Cn, eXt as Cr, VB as Ct, UUt as D, su as Dn, sXt as Dr, ZB as Dt, iGt as E, yXt as En, YUt as Er, Pj as Et, Jb as F, fC as Fn, iXt as Fr, j5 as Ft, qH as G, oj as Gn, pa as Gr, $h as Gt, xi as H, Uq as Hn, tw as Hr, FH as Ht, Zb as I, Cp as In, KUt as Ir, wa as It, YH as J, SIt as Jn, xC as Jr, mQ as Jt, GH as K, vK as Kn, TC as Kr, wC as Kt, Kb as L, KAt as Ln, nXt as Lr, lu as Lt, mjt as M, hC as Mn, VUt as Mr, ZXt as Mt, zm as N, gC as Nn, hXt as Nr, ff as Nt, xXt as O, Xh as On, oXt as Or, eUt as Ot, Mi as P, mC as Pn, qUt as Pr, B5 as Pt, zJ as Q, uUt as Qn, Tj as Qr, Oh as Qt, DUt as R, vf as Rn, ZUt as Rr, PXt as Rt, Bn as S, Rn as Sn, tXt as Sr, sj as St, Zr as T, Dn as Tn, mXt as Tr, Pi as Tt, wL as U, Qz as Un, dj as Ur, SC as Ut, ght as V, Af as Vn, rGt as Vr, bC as Vt, Ast as W, mf as Wn, R1 as Wr, T5 as Wt, WH as X, XUt as Xn, hW as Xr, _u as Xt, HH as Y, O1 as Yn, a4 as Yr, pat as Yt, XJ as Z, bXt as Zn, tf as Zr, q5 as Zt, pW as _, fm as _n, mm as _r, dB as _t, Tm as a, HUt as ai, Pu as an, Qb as ar, Rh as at, Yr as b, RO as bn, JUt as br, KXt as bt, bm as c, VZ as ci, ku as cn, Ca as cr, Ka as ct, _j as d, aGt as dn, cst as dr, Va as dt, SL as ei, Vb as en, qXt as er, $J as et, wm as f, Hh as fn, JH as fr, hjt as ft, kWt as g, cm as gn, ef as gr, Ni as gt, Uzt as h, Nn as hn, Fot as hr, Ma as ht, Yi as i, _It as ii, kh as in, KZ as ir, Fh as it, lj as j, yht as jn, pXt as jr, WXt as jt, pUt as k, cUt as kn, cXt as kr, h4 as kt, iQ as l, qz as li, Su as ln, k5 as lr, Bh as lt, xm as m, En as mn, Hb as mr, W3 as mt, nGt as n, vC as ni, Cg as nn, hUt as nr, jJ as nt, wht as o, vXt as oi, mUt as on, tGt as or, mht as ot, Xn as p, oW as pn, Vz as pr, Wa as pt, VH as q, Gh as qn, yC as qr, Eo as qt, xj as r, Wh as ri, Wb as rn, aj as rr, Ih as rt, dQ as s, nj as si, Cu as sn, eGt as sr, ba as st, yj as t, TL as ti, Yb as tn, JXt as tr, BJ as tt, aQ as u, Xq as un, P5 as ur, Ya as ut, EAt as v, YXt as vn, h3 as vr, Mh as vt, Jr as w, Uh as wn, GUt as wr, P2 as wt, On as x, Fn as xn, rXt as xr, fjt as xt, VAt as y, QXt as yn, vi as yr, VXt as yt, TK as z, Dot as zn, WUt as zr, AXt as zt };
121235
+ export { UJ as $, uUt as $n, Tj as $r, Fq as $t, ej as A, fUt as An, cXt as Ar, BUt as At, bK as B, da as Bn, WUt as Br, RUt as Bt, Kr as C, KH as Cn, tXt as Cr, VB as Ct, UUt as D, su as Dn, YUt as Dr, ZB as Dt, iGt as E, yXt as En, mXt as Er, Pj as Et, Jb as F, fC as Fn, qUt as Fr, j5 as Ft, qH as G, oj as Gn, R1 as Gr, $h as Gt, xi as H, Uq as Hn, rGt as Hr, FH as Ht, Zb as I, Cp as In, iXt as Ir, wa as It, YH as J, Gh as Jn, yC as Jr, mQ as Jt, GH as K, vK as Kn, pa as Kr, wC as Kt, Kb as L, KAt as Ln, KUt as Lr, lu as Lt, mjt as M, hC as Mn, pXt as Mr, ZXt as Mt, zm as N, gC as Nn, VUt as Nr, ff as Nt, xXt as O, Xh as On, sXt as Or, eUt as Ot, Mi as P, mC as Pn, hXt as Pr, B5 as Pt, zJ as Q, bXt as Qn, tf as Qr, Oh as Qt, DUt as R, vf as Rn, nXt as Rr, PXt as Rt, Bn as S, Rn as Sn, rXt as Sr, sj as St, Zr as T, Dn as Tn, GUt as Tr, Pi as Tt, wL as U, Qz as Un, tw as Ur, SC as Ut, ght as V, Af as Vn, zUt as Vr, bC as Vt, Ast as W, mf as Wn, dj as Wr, T5 as Wt, WH as X, O1 as Xn, a4 as Xr, _u as Xt, HH as Y, SIt as Yn, xC as Yr, pat as Yt, XJ as Z, XUt as Zn, hW as Zr, q5 as Zt, pW as _, fm as _n, ef as _r, dB as _t, Tm as a, _It as ai, Pu as an, KZ as ar, Rh as at, Yr as b, RO as bn, vi as br, KXt as bt, bm as c, nj as ci, ku as cn, eGt as cr, Ka as ct, _j as d, aGt as dn, P5 as dr, Va as dt, _ot as ei, Vb as en, rj as er, $J as et, wm as f, Hh as fn, cst as fr, hjt as ft, kWt as g, cm as gn, Fot as gr, Ni as gt, Uzt as h, Nn as hn, Hb as hr, Ma as ht, Yi as i, Wh as ii, kh as in, aj as ir, Fh as it, lj as j, yht as jn, lXt as jr, WXt as jt, pUt as k, cUt as kn, oXt as kr, h4 as kt, iQ as l, VZ as li, Su as ln, Ca as lr, Bh as lt, xm as m, En as mn, Vz as mr, W3 as mt, nGt as n, TL as ni, Cg as nn, JXt as nr, jJ as nt, wht as o, HUt as oi, mUt as on, Qb as or, mht as ot, Xn as p, oW as pn, JH as pr, Wa as pt, VH as q, sK as qn, TC as qr, Eo as qt, xj as r, vC as ri, Wb as rn, hUt as rr, Ih as rt, dQ as s, vXt as si, Cu as sn, tGt as sr, ba as st, yj as t, SL as ti, Yb as tn, qXt as tr, BJ as tt, aQ as u, qz as ui, Xq as un, k5 as ur, Ya as ut, EAt as v, YXt as vn, mm as vr, Mh as vt, Jr as w, Uh as wn, eXt as wr, P2 as wt, On as x, Fn as xn, JUt as xr, fjt as xt, VAt as y, QXt as yn, h3 as yr, VXt as yt, TK as z, Dot as zn, ZUt as zr, AXt as zt };
Binary file
@@ -122002,6 +122002,11 @@ VAt(), Ri(), Sht(), Object.defineProperty(exports, "COLOR_MAP_ALIAS_KEYS", {
122002
122002
  get: function() {
122003
122003
  return xK;
122004
122004
  }
122005
+ }), Object.defineProperty(exports, "reResolveElementFonts", {
122006
+ enumerable: !0,
122007
+ get: function() {
122008
+ return oK;
122009
+ }
122005
122010
  }), Object.defineProperty(exports, "reassignDescendantIds", {
122006
122011
  enumerable: !0,
122007
122012
  get: function() {
Binary file
@@ -0,0 +1,2 @@
1
+ const e = require("./useViewerSettingsDialog-wKKQqMYe.cjs");
2
+ exports.encodeGif = e.encodeGif;
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ import { Ql as e } from "./useViewerSettingsDialog-oSt3ZWkj.js";
2
+ export { e as encodeGif };
Binary file
Binary file
package/dist/i18n/de.cjs CHANGED
@@ -2773,6 +2773,9 @@ var translations16 = {
2773
2773
  "pptx.slideShow.useTimings": "Gespeicherte Zeitabl\xE4ufe verwenden",
2774
2774
  "pptx.subtitles.listening": "H\xF6ren\u2026",
2775
2775
  "pptx.subtitles.notSupported": "Untertitel werden in diesem Browser nicht unterst\xFCtzt.",
2776
+ "pptx.subtitles.spokenLanguage": "Gesprochene Sprache",
2777
+ "pptx.subtitles.browserLanguage": "Browsersprache",
2778
+ "pptx.subtitles.settingsDescription": "W\xE4hlen Sie die Sprache, in der Sie sprechen. Die Untertitel verwenden die Spracherkennung des Browsers; eine \xDCbersetzung ist nicht verf\xFCgbar.",
2776
2779
  "pptx.transition.advanceOnClick": "Vorw\xE4rts per Klick",
2777
2780
  "pptx.transition.direction": "Richtung",
2778
2781
  "pptx.transition.orientation": "Orientierung",
Binary file
Binary file
package/dist/i18n/de.mjs CHANGED
@@ -2747,6 +2747,9 @@ var translations16 = {
2747
2747
  "pptx.slideShow.useTimings": "Gespeicherte Zeitabl\xE4ufe verwenden",
2748
2748
  "pptx.subtitles.listening": "H\xF6ren\u2026",
2749
2749
  "pptx.subtitles.notSupported": "Untertitel werden in diesem Browser nicht unterst\xFCtzt.",
2750
+ "pptx.subtitles.spokenLanguage": "Gesprochene Sprache",
2751
+ "pptx.subtitles.browserLanguage": "Browsersprache",
2752
+ "pptx.subtitles.settingsDescription": "W\xE4hlen Sie die Sprache, in der Sie sprechen. Die Untertitel verwenden die Spracherkennung des Browsers; eine \xDCbersetzung ist nicht verf\xFCgbar.",
2750
2753
  "pptx.transition.advanceOnClick": "Vorw\xE4rts per Klick",
2751
2754
  "pptx.transition.direction": "Richtung",
2752
2755
  "pptx.transition.orientation": "Orientierung",
Binary file
Binary file
package/dist/i18n/es.cjs CHANGED
@@ -2773,6 +2773,9 @@ var translations16 = {
2773
2773
  "pptx.slideShow.useTimings": "Usar tiempos, si est\xE1n presentes",
2774
2774
  "pptx.subtitles.listening": "Escuchando\u2026",
2775
2775
  "pptx.subtitles.notSupported": "Los subt\xEDtulos no son compatibles con este navegador.",
2776
+ "pptx.subtitles.spokenLanguage": "Idioma hablado",
2777
+ "pptx.subtitles.browserLanguage": "Idioma del navegador",
2778
+ "pptx.subtitles.settingsDescription": "Elige el idioma en el que hablar\xE1s. Los subt\xEDtulos usan el reconocimiento de voz del navegador; la traducci\xF3n no est\xE1 disponible.",
2776
2779
  "pptx.transition.advanceOnClick": "Avanzar al hacer clic",
2777
2780
  "pptx.transition.direction": "Direcci\xF3n",
2778
2781
  "pptx.transition.orientation": "Orientaci\xF3n",
Binary file
Binary file
package/dist/i18n/es.mjs CHANGED
@@ -2747,6 +2747,9 @@ var translations16 = {
2747
2747
  "pptx.slideShow.useTimings": "Usar tiempos, si est\xE1n presentes",
2748
2748
  "pptx.subtitles.listening": "Escuchando\u2026",
2749
2749
  "pptx.subtitles.notSupported": "Los subt\xEDtulos no son compatibles con este navegador.",
2750
+ "pptx.subtitles.spokenLanguage": "Idioma hablado",
2751
+ "pptx.subtitles.browserLanguage": "Idioma del navegador",
2752
+ "pptx.subtitles.settingsDescription": "Elige el idioma en el que hablar\xE1s. Los subt\xEDtulos usan el reconocimiento de voz del navegador; la traducci\xF3n no est\xE1 disponible.",
2750
2753
  "pptx.transition.advanceOnClick": "Avanzar al hacer clic",
2751
2754
  "pptx.transition.direction": "Direcci\xF3n",
2752
2755
  "pptx.transition.orientation": "Orientaci\xF3n",
Binary file
Binary file
package/dist/i18n/fr.cjs CHANGED
@@ -2773,6 +2773,9 @@ var translations16 = {
2773
2773
  "pptx.slideShow.useTimings": "Utilisation des timings, le cas \xE9ch\xE9ant",
2774
2774
  "pptx.subtitles.listening": "\xC9coute\u2026",
2775
2775
  "pptx.subtitles.notSupported": "Les sous-titres ne sont pas pris en charge dans ce navigateur.",
2776
+ "pptx.subtitles.spokenLanguage": "Langue parl\xE9e",
2777
+ "pptx.subtitles.browserLanguage": "Langue du navigateur",
2778
+ "pptx.subtitles.settingsDescription": "Choisissez la langue dans laquelle vous parlerez. Les sous-titres utilisent la reconnaissance vocale du navigateur ; la traduction est indisponible.",
2776
2779
  "pptx.transition.advanceOnClick": "Avancer au clic",
2777
2780
  "pptx.transition.direction": "Direction",
2778
2781
  "pptx.transition.orientation": "Orientation",
Binary file
Binary file
package/dist/i18n/fr.mjs CHANGED
@@ -2747,6 +2747,9 @@ var translations16 = {
2747
2747
  "pptx.slideShow.useTimings": "Utilisation des timings, le cas \xE9ch\xE9ant",
2748
2748
  "pptx.subtitles.listening": "\xC9coute\u2026",
2749
2749
  "pptx.subtitles.notSupported": "Les sous-titres ne sont pas pris en charge dans ce navigateur.",
2750
+ "pptx.subtitles.spokenLanguage": "Langue parl\xE9e",
2751
+ "pptx.subtitles.browserLanguage": "Langue du navigateur",
2752
+ "pptx.subtitles.settingsDescription": "Choisissez la langue dans laquelle vous parlerez. Les sous-titres utilisent la reconnaissance vocale du navigateur ; la traduction est indisponible.",
2750
2753
  "pptx.transition.advanceOnClick": "Avancer au clic",
2751
2754
  "pptx.transition.direction": "Direction",
2752
2755
  "pptx.transition.orientation": "Orientation",
Binary file
Binary file
@@ -2790,6 +2790,9 @@ var translations21 = {
2790
2790
  "pptx.slideShow.useTimings": "\u4F7F\u7528\u8BA1\u65F6\uFF08\u5982\u679C\u5B58\u5728\uFF09",
2791
2791
  "pptx.subtitles.listening": "\u6B63\u5728\u8046\u542C\u2026",
2792
2792
  "pptx.subtitles.notSupported": "\u6B64\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5B57\u5E55\u3002",
2793
+ "pptx.subtitles.spokenLanguage": "\u8BB2\u8BDD\u8BED\u8A00",
2794
+ "pptx.subtitles.browserLanguage": "\u6D4F\u89C8\u5668\u8BED\u8A00",
2795
+ "pptx.subtitles.settingsDescription": "\u9009\u62E9\u60A8\u8BB2\u8BDD\u65F6\u4F7F\u7528\u7684\u8BED\u8A00\u3002\u5B57\u5E55\u4F7F\u7528\u6D4F\u89C8\u5668\u7684\u8BED\u97F3\u8BC6\u522B\u529F\u80FD\uFF0C\u4E0D\u652F\u6301\u7FFB\u8BD1\u3002",
2793
2796
  "pptx.transition.advanceOnClick": "\u5355\u51FB\u65F6\u6362\u7247",
2794
2797
  "pptx.transition.direction": "\u65B9\u5411",
2795
2798
  "pptx.transition.orientation": "\u65B9\u5411",
Binary file
Binary file
@@ -2764,6 +2764,9 @@ var translations21 = {
2764
2764
  "pptx.slideShow.useTimings": "\u4F7F\u7528\u8BA1\u65F6\uFF08\u5982\u679C\u5B58\u5728\uFF09",
2765
2765
  "pptx.subtitles.listening": "\u6B63\u5728\u8046\u542C\u2026",
2766
2766
  "pptx.subtitles.notSupported": "\u6B64\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5B57\u5E55\u3002",
2767
+ "pptx.subtitles.spokenLanguage": "\u8BB2\u8BDD\u8BED\u8A00",
2768
+ "pptx.subtitles.browserLanguage": "\u6D4F\u89C8\u5668\u8BED\u8A00",
2769
+ "pptx.subtitles.settingsDescription": "\u9009\u62E9\u60A8\u8BB2\u8BDD\u65F6\u4F7F\u7528\u7684\u8BED\u8A00\u3002\u5B57\u5E55\u4F7F\u7528\u6D4F\u89C8\u5668\u7684\u8BED\u97F3\u8BC6\u522B\u529F\u80FD\uFF0C\u4E0D\u652F\u6301\u7FFB\u8BD1\u3002",
2767
2770
  "pptx.transition.advanceOnClick": "\u5355\u51FB\u65F6\u6362\u7247",
2768
2771
  "pptx.transition.direction": "\u65B9\u5411",
2769
2772
  "pptx.transition.orientation": "\u65B9\u5411",
Binary file
Binary file
package/dist/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-BSTNSu9V.cjs"), o = require("./viewer-AEbR-Kda.cjs");
2
+ const e = require("./useViewerSettingsDialog-wKKQqMYe.cjs"), o = require("./viewer-BURed1v4.cjs");
3
3
  exports.AUDIENCE_HASH = e.AUDIENCE_HASH, exports.BACKSTAGE_CARD_IDS = e.BACKSTAGE_CARD_IDS, exports.BACKSTAGE_PAGE_IDS = e.BACKSTAGE_PAGE_IDS, exports.CANVAS_CONTEXT_MENU_COMMAND_IDS = e.CANVAS_CONTEXT_MENU_COMMAND_IDS, exports.CollaborationCursors = o.CollaborationCursors_default, exports.CollaborationStatusIndicator = o.CollaborationStatusIndicator_default, exports.EDITOR_SHORTCUT_ACTION_IDS = e.EDITOR_SHORTCUT_ACTION_IDS, exports.ELEMENT_CONTEXT_MENU_COMMAND_IDS = e.ELEMENT_CONTEXT_MENU_COMMAND_IDS, exports.ElementRenderer = e.ElementRenderer_default, exports.FollowModeBar = o.FollowModeBar_default, exports.OPTIONS_PAGE_IDS = e.OPTIONS_PAGE_IDS, exports.OPTIONS_SECTION_IDS = e.OPTIONS_SECTION_IDS, exports.OPTIONS_SETTING_IDS = e.OPTIONS_SETTING_IDS, exports.PPTX_OPEN_ACCEPT = e.PPTX_OPEN_ACCEPT, exports.PRESENTATION_OPEN_EXTENSIONS = e.PRESENTATION_OPEN_EXTENSIONS, exports.PowerPointViewer = o.PowerPointViewer_default, exports.RIBBON_TAB_IDS = e.RIBBON_TAB_IDS, exports.RemoteSelectionOverlay = o.RemoteSelectionOverlay_default, exports.RibbonToolbar = o.RibbonToolbar_default, exports.SlideCanvas = o.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.TOOLBAR_BUTTON_IDS = e.TOOLBAR_BUTTON_IDS, exports.VIEWER_DIALOG_IDS = e.VIEWER_DIALOG_IDS, exports.VIEWER_EXPORT_FORMAT_IDS = e.VIEWER_EXPORT_FORMAT_IDS, exports.VIEWER_FEATURE_IDS = e.VIEWER_FEATURE_IDS, exports.VIEWER_PANEL_IDS = e.VIEWER_PANEL_IDS, exports.clearAudienceContent = e.clearAudienceContent, exports.cn = o.cn, exports.createImageElementFromFile = e.createImageElementFromFile, exports.defaultCssVars = e.defaultCssVars, exports.defaultRadius = e.defaultRadius, exports.defaultThemeColors = e.defaultThemeColors, exports.describeCollaborationShellState = e.describeCollaborationShellState, exports.exportAllSlidesToSvg = e.exportAllSlidesToSvg, exports.exportAllSlidesToSvgBlobs = e.exportAllSlidesToSvgBlobs, exports.exportSlideToSvg = e.exportSlideToSvg, exports.exportSlideToSvgBlob = e.exportSlideToSvgBlob, exports.forgetSessionDeck = e.forgetSessionDeck, exports.getSessionTabId = e.getSessionTabId, exports.isAudienceTab = e.isAudienceTab, exports.isLegacyBinaryPresentation = e.isLegacyBinaryPresentation, exports.isSupportedPresentationFile = e.isSupportedPresentationFile, exports.loadAudienceContent = e.loadAudienceContent, exports.loadSessionDeck = e.loadSessionDeck, exports.parseAudienceNonce = e.parseAudienceNonce, exports.parsePresentationSessionId = e.parsePresentationSessionId, exports.presentationBaseName = e.presentationBaseName, exports.provideViewerTheme = o.provideViewerTheme, exports.rememberSessionDeck = e.rememberSessionDeck, exports.renderToCanvas = e.renderToCanvas, exports.restoreSessionDeck = e.restoreSessionDeck, exports.savedPresentationFileName = e.savedPresentationFileName, exports.storeAudienceContent = e.storeAudienceContent, exports.themeToCssVars = e.themeToCssVars, exports.useCollaboration = e.useCollaboration, exports.useCollaborativeHistory = o.useCollaborativeHistory, exports.useCollaborativeState = o.useCollaborativeState, exports.usePresenceTracking = o.usePresenceTracking, exports.useThemeStyle = o.useThemeStyle, exports.useViewerTheme = o.useViewerTheme, exports.useYjsProvider = o.useYjsProvider, exports.vermilionDarkColors = e.vermilionDarkColors, exports.vermilionDarkTheme = e.vermilionDarkTheme, exports.vermilionLightColors = e.vermilionLightColors, exports.vermilionLightTheme = e.vermilionLightTheme, exports.vermilionRadius = e.vermilionRadius;
package/dist/index.cjs.br CHANGED
Binary file
package/dist/index.cjs.gz CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -1143,6 +1143,9 @@ declare type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'ed
1143
1143
 
1144
1144
  /** Right-click menu customisation. */
1145
1145
  export declare interface ContextMenuCustomization {
1146
+ /** Additional host commands, independent of the viewer's AI connection. */
1147
+ extraElementCommands?: readonly HostMenuCommand<HostElementMenuContext>[];
1148
+ extraCanvasCommands?: readonly HostMenuCommand<HostCanvasMenuContext>[];
1146
1149
  /** Entries to remove from the element (right-click on a shape) menu. */
1147
1150
  hiddenElementCommands?: readonly ContextMenuCommandId[];
1148
1151
  /** Entries to remove from the empty-canvas menu. */
@@ -1697,6 +1700,26 @@ declare interface GroupPptxElement extends PptxElementBase {
1697
1700
  chExtHeightEmu?: number;
1698
1701
  }
1699
1702
 
1703
+ /** Snapshot of the slide on which the host command was offered. */
1704
+ export declare interface HostCanvasMenuContext {
1705
+ slideIndex: number;
1706
+ }
1707
+
1708
+ /** Effective selection, including a single right-clicked element. */
1709
+ export declare interface HostElementMenuContext extends HostCanvasMenuContext {
1710
+ elementIds: readonly string[];
1711
+ }
1712
+
1713
+ /** Plain text labels work identically in every framework. */
1714
+ export declare interface HostMenuCommand<C> {
1715
+ id: string;
1716
+ label: string;
1717
+ /** Default: a separate group above the built-in commands. */
1718
+ group?: 'top' | 'bottom';
1719
+ disabled?: boolean | ((context: C) => boolean);
1720
+ onSelect: (context: C) => void;
1721
+ }
1722
+
1700
1723
  declare interface ImageOptions extends Partial<ElementPosition> {
1701
1724
  altText?: string;
1702
1725
  cropLeft?: number;
@@ -12112,6 +12135,8 @@ export declare interface ResolvedCustomization {
12112
12135
  hiddenBackstagePages: ReadonlySet<BackstagePage>;
12113
12136
  hiddenBackstageCards: ReadonlySet<BackstageCardId>;
12114
12137
  hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
12138
+ extraElementCommands: NonNullable<ViewerCustomization['contextMenu']>['extraElementCommands'];
12139
+ extraCanvasCommands: NonNullable<ViewerCustomization['contextMenu']>['extraCanvasCommands'];
12115
12140
  hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
12116
12141
  hiddenEditPointsCommands: ReadonlySet<EditPointsCommandId>;
12117
12142
  hiddenDrawingTools: ReadonlySet<ViewerDrawingToolId>;
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import { $i as a, Ah as s, C as o, Df as r, Dh as e, Ef as i, Eh as l, Fi as t, Hr as n, If as d, Ii as m, Ja as w, Ji as c, Jm as h, Li as S, Nd as b, Oh as u, Pd as f, Ru as p, S as C, Xt as g, Yc as v, Yt as E, ao as R, ba as j, ch as x, cp as D, er as I, et as J, gl as P, hl as k, id as y, it as A, kh as F, lo as M, lr as O, om as T, oo as V, or as Y, pm as q, qr as B, rr as H, ru as L, so as N, uc as X, vl as $, w as z, wd as G, x as K, xl as Q, yd as U } from "./useViewerSettingsDialog-BJ3C3JRR.js";
2
- import { A as W, E as Z, M as _, T as aa, a as sa, c as oa, i as ra, j as ea, k as ia, l as la, n as ta, r as na, s as da, t as ma, w as wa } from "./viewer-D6z9VmNf.js";
3
- export { I as AUDIENCE_HASH, H as BACKSTAGE_CARD_IDS, Y as BACKSTAGE_PAGE_IDS, O as CANVAS_CONTEXT_MENU_COMMAND_IDS, la as CollaborationCursors, ia as CollaborationStatusIndicator, n as EDITOR_SHORTCUT_ACTION_IDS, B as ELEMENT_CONTEXT_MENU_COMMAND_IDS, g as ElementRenderer, da as FollowModeBar, t as OPTIONS_PAGE_IDS, m as OPTIONS_SECTION_IDS, S as OPTIONS_SETTING_IDS, c as PPTX_OPEN_ACCEPT, a as PRESENTATION_OPEN_EXTENSIONS, sa as PowerPointViewer, j as RIBBON_TAB_IDS, oa as RemoteSelectionOverlay, aa as RibbonToolbar, wa as SlideCanvas, E as SlideStage, w as TOOLBAR_BUTTON_IDS, R as VIEWER_DIALOG_IDS, V as VIEWER_EXPORT_FORMAT_IDS, N as VIEWER_FEATURE_IDS, M as VIEWER_PANEL_IDS, X as clearAudienceContent, Z as cn, v as createImageElementFromFile, k as defaultCssVars, P as defaultRadius, $ as defaultThemeColors, Q as describeCollaborationShellState, K as exportAllSlidesToSvg, C as exportAllSlidesToSvgBlobs, o as exportSlideToSvg, z as exportSlideToSvgBlob, L as forgetSessionDeck, p as getSessionTabId, y as isAudienceTab, U as isLegacyBinaryPresentation, G as isSupportedPresentationFile, b as loadAudienceContent, f as loadSessionDeck, i as parseAudienceNonce, r as parsePresentationSessionId, d as presentationBaseName, W as provideViewerTheme, D as rememberSessionDeck, J as renderToCanvas, T as restoreSessionDeck, q as savedPresentationFileName, h as storeAudienceContent, x as themeToCssVars, A as useCollaboration, ma as useCollaborativeHistory, ta as useCollaborativeState, na as usePresenceTracking, ea as useThemeStyle, _ as useViewerTheme, ra as useYjsProvider, l as vermilionDarkColors, e as vermilionDarkTheme, u as vermilionLightColors, F as vermilionLightTheme, s as vermilionRadius };
1
+ import { $i as a, Bi as s, C as o, Dd as e, Dl as r, Ea as i, Ff as t, Fh as l, Hd as d, Hi as n, Ih as m, Kr as h, Ku as w, Lh as S, Md as f, Pf as b, Qr as g, Rh as p, S as u, Sl as C, Vd as c, Vi as x, Wf as R, Xt as V, Yt as j, _h as v, do as D, du as E, eo as F, er as M, et as P, fd as B, fo as H, gc as I, gp as K, ho as T, ia as k, it as y, lr as z, mm as A, nh as L, or as O, po as Q, rr as W, tl as X, w as Y, wl as $, x as _, xl as q, xm as G, zh as J } from "./useViewerSettingsDialog-oSt3ZWkj.js";
2
+ import { A as N, E as U, M as Z, T as aa, a as sa, c as oa, i as ea, j as ra, k as ia, l as ta, n as la, r as da, s as na, t as ma, w as ha } from "./viewer-Bzu0ssqX.js";
3
+ export { M as AUDIENCE_HASH, W as BACKSTAGE_CARD_IDS, O as BACKSTAGE_PAGE_IDS, z as CANVAS_CONTEXT_MENU_COMMAND_IDS, ta as CollaborationCursors, ia as CollaborationStatusIndicator, h as EDITOR_SHORTCUT_ACTION_IDS, g as ELEMENT_CONTEXT_MENU_COMMAND_IDS, V as ElementRenderer, na as FollowModeBar, s as OPTIONS_PAGE_IDS, x as OPTIONS_SECTION_IDS, n as OPTIONS_SETTING_IDS, a as PPTX_OPEN_ACCEPT, k as PRESENTATION_OPEN_EXTENSIONS, sa as PowerPointViewer, i as RIBBON_TAB_IDS, oa as RemoteSelectionOverlay, aa as RibbonToolbar, ha as SlideCanvas, j as SlideStage, F as TOOLBAR_BUTTON_IDS, D as VIEWER_DIALOG_IDS, H as VIEWER_EXPORT_FORMAT_IDS, Q as VIEWER_FEATURE_IDS, T as VIEWER_PANEL_IDS, I as clearAudienceContent, U as cn, X as createImageElementFromFile, q as defaultCssVars, C as defaultRadius, $ as defaultThemeColors, r as describeCollaborationShellState, _ as exportAllSlidesToSvg, u as exportAllSlidesToSvgBlobs, o as exportSlideToSvg, Y as exportSlideToSvgBlob, E as forgetSessionDeck, w as getSessionTabId, B as isAudienceTab, e as isLegacyBinaryPresentation, f as isSupportedPresentationFile, c as loadAudienceContent, d as loadSessionDeck, b as parseAudienceNonce, t as parsePresentationSessionId, R as presentationBaseName, N as provideViewerTheme, K as rememberSessionDeck, P as renderToCanvas, A as restoreSessionDeck, G as savedPresentationFileName, L as storeAudienceContent, v as themeToCssVars, y as useCollaboration, ma as useCollaborativeHistory, la as useCollaborativeState, da as usePresenceTracking, ra as useThemeStyle, Z as useViewerTheme, ea as useYjsProvider, l as vermilionDarkColors, m as vermilionDarkTheme, S as vermilionLightColors, p as vermilionLightTheme, J as vermilionRadius };
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("./useViewerSettingsDialog-BSTNSu9V.cjs");
2
+ const e = require("./useViewerSettingsDialog-wKKQqMYe.cjs");
3
3
  exports.CINEMATIC_TRANSITION_KEYFRAMES = e.CINEMATIC_TRANSITION_KEYFRAMES, exports.DEFAULT_MAX_VERSIONS = e.DEFAULT_MAX_VERSIONS, exports.DEFAULT_MORPH_DURATION_MS = e.DEFAULT_MORPH_DURATION_MS, exports.DEFAULT_RENDERING_3D_FLAGS = e.DEFAULT_RENDERING_3D_FLAGS, exports.DEFAULT_TRANSITION_DURATION_MS = e.DEFAULT_TRANSITION_DURATION_MS, exports.EASE = e.EASE, exports.ERASER_RADIUS = e.ERASER_RADIUS, exports.FragmentedTransitionLayer = e.FragmentedTransitionLayer_default, exports.HIGHLIGHTER_OPACITY = e.HIGHLIGHTER_OPACITY, exports.HIGHLIGHTER_WIDTH = e.HIGHLIGHTER_WIDTH, exports.INSTANT = e.INSTANT, exports.MOBILE_BREAKPOINT = e.MOBILE_BREAKPOINT, exports.MOBILE_LANDSCAPE_MAX_HEIGHT = e.MOBILE_LANDSCAPE_MAX_HEIGHT, exports.MorphExtraLayers = e.MorphExtraLayers_default, exports.NUDGE_LARGE = e.NUDGE_LARGE, exports.NUDGE_SMALL = e.NUDGE_SMALL, exports.P14_TRANSITION_KEYFRAMES = e.P14_TRANSITION_KEYFRAMES, exports.P14_TRANSITION_KEYFRAMES_2 = e.P14_TRANSITION_KEYFRAMES_2, exports.P14_TRANSITION_KEYFRAMES_ALL = e.P14_TRANSITION_KEYFRAMES_ALL, exports.PEN_WIDTH = e.PEN_WIDTH, exports.PresentationTransitionOverlay = e.PresentationTransitionOverlay_default, exports.RANDOM_ELIGIBLE_TYPES = e.RANDOM_ELIGIBLE_TYPES, exports.RIBBON_ALIGN = e.RIBBON_ALIGN, exports.Rendering3DFlagsKey = e.Rendering3DFlagsKey, exports.SHORTCUT_CATALOG = e.SHORTCUT_CATALOG, exports.SHORTCUT_GROUP_LABEL_KEYS = e.SHORTCUT_GROUP_LABEL_KEYS, exports.SLIDE_TRANSITION_KEYFRAMES = e.SLIDE_TRANSITION_KEYFRAMES, exports.SLIDE_TRANSITION_KEYFRAMES_CSS = e.SLIDE_TRANSITION_KEYFRAMES_CSS, exports.SMARTART_COLOR_SCHEMES = e.SMARTART_COLOR_SCHEMES, exports.SMARTART_STYLE_OPTIONS = e.SMARTART_STYLE_OPTIONS, exports.TABLET_BREAKPOINT = e.TABLET_BREAKPOINT, exports.TRANSITION_SPEED_DURATION_MS = e.TRANSITION_SPEED_DURATION_MS, exports.TableSelectionKey = e.TableSelectionKey, exports.WHEEL_SPOKE_COUNTS = e.WHEEL_SPOKE_COUNTS, exports.buildClickGroups = e.buildClickGroups, exports.computeCellSelection = e.computeCellSelection, exports.computeDocumentStatistics = e.computeDocumentStatistics, exports.computeElapsed = e.computeElapsed, exports.countWords = e.countWords, exports.createStroke = e.createStroke, exports.eraseStrokesAtPoint = e.eraseStrokesAtPoint, exports.formatRehearseMs = e.formatRehearseMs, exports.generateCommentId = e.generateCommentId, exports.getCinematicTransitionAnimations = e.getCinematicTransitionAnimations, exports.getP14TransitionAnimations = e.getP14TransitionAnimations, exports.getSlideTransitionAnimations = e.getSlideTransitionAnimations, exports.groupShortcutCatalog = e.groupShortcutCatalog, exports.injectTableSelection = e.injectTableSelection, exports.inlineEditorRect = e.inlineEditorRect, exports.isMobileViewport = e.isMobileViewport, exports.nodeIdsInRenderOrder = e.nodeIdsInRenderOrder, exports.parseSignaturesFromBuffer = e.parseSignaturesFromBuffer, exports.provideTableSelection = e.provideTableSelection, exports.resolveDirection = e.resolveDirection, exports.resolveDirection8 = e.resolveDirection8, exports.resolveOrientation = e.resolveOrientation, exports.resolveShortcutAction = e.resolveShortcutAction, exports.resolveSlideTransition = e.resolveSlideTransition, exports.resolveTransitionDurationMs = e.resolveTransitionDurationMs, exports.resolveWheelSpokeCount = e.resolveWheelSpokeCount, exports.smartArtLayoutLabel = e.smartArtLayoutLabel, exports.textNodeIdsInRenderOrder = e.textNodeIdsInRenderOrder, exports.toShapePreset = e.toShapePreset, exports.useAccessibility = e.useAccessibility, exports.useAlignGroup = e.useAlignGroup, exports.useAnimationPlayback = e.useAnimationPlayback, exports.useAutosave = e.useAutosave, exports.useChartEditing = e.useChartEditing, exports.useCollaboration = e.useCollaboration, exports.useCollaborationWiring = e.useCollaborationWiring, exports.useColorChangeImage = e.useColorChangeImage, exports.useComments = e.useComments, exports.useCommentsWiring = e.useCommentsWiring, exports.useContextMenu = e.useContextMenu, exports.useCustomShows = e.useCustomShows, exports.useCustomShowsWiring = e.useCustomShowsWiring, exports.useDebouncedCallback = e.useDebouncedCallback, exports.useDocumentPropertiesDialog = e.useDocumentPropertiesDialog, exports.useDocumentStatistics = e.useDocumentStatistics, exports.useEditorHistory = e.useEditorHistory, exports.useEditorKeyboard = e.useEditorKeyboard, exports.useEditorOperations = e.useEditorOperations, exports.useElementDrag = e.useElementDrag, exports.useElementInsertion = e.useElementInsertion, exports.useEmbeddedFonts = e.useEmbeddedFonts, exports.useExport = e.useExport, exports.useExportProgress = e.useExportProgress, exports.useExportWiring = e.useExportWiring, exports.useFindReplace = e.useFindReplace, exports.useFontEmbedding = e.useFontEmbedding, exports.useFormatPainter = e.useFormatPainter, exports.useHeaderFooterDialog = e.useHeaderFooterDialog, exports.useInkDrawing = e.useInkDrawing, exports.useInlineEditing = e.useInlineEditing, exports.useInsertElementDialogs = e.useInsertElementDialogs, exports.useIsMobile = e.useIsMobile, exports.useKeyboardInsets = e.useKeyboardInsets, exports.useKeyboardShortcuts = e.useKeyboardShortcuts, exports.useLoadContent = e.useLoadContent, exports.useMasterViewState = e.useMasterViewState, exports.useMediaExport = e.useMediaExport, exports.useMobileChrome = e.useMobileChrome, exports.useModel3dScene = e.useModel3dScene, exports.useMorphTransitionOverlay = e.useMorphTransitionOverlay, exports.useMultiSelectOps = e.useMultiSelectOps, exports.usePasswordProtection = e.usePasswordProtection, exports.usePresentationAnnotations = e.usePresentationAnnotations, exports.usePresentationModeWiring = e.usePresentationModeWiring, exports.usePrint = e.usePrint, exports.useRehearseTimings = e.useRehearseTimings, exports.useRendering3DFlags = e.useRendering3DFlags, exports.useRibbonActions = e.useRibbonActions, exports.useRibbonProps = e.useRibbonProps, exports.useRibbonUiState = e.useRibbonUiState, exports.useSectionOperations = e.useSectionOperations, exports.useSelectionPaneWiring = e.useSelectionPaneWiring, exports.useSheetDismissDrag = e.useSheetDismissDrag, exports.useSignatureWorkflow = e.useSignatureWorkflow, exports.useSignatures = e.useSignatures, exports.useSlideMutations = e.useSlideMutations, exports.useSlideOperations = e.useSlideOperations, exports.useSlideShowSettings = e.useSlideShowSettings, exports.useSlideTemplateInsertion = e.useSlideTemplateInsertion, exports.useSmartArtEditing = e.useSmartArtEditing, exports.useSmartArtFocus = e.useSmartArtFocus, exports.useSmartArtHoverRect = e.useSmartArtHoverRect, exports.useSmartArtInlineEditState = e.useSmartArtInlineEditState, exports.useSmartArtNodeEditContext = e.useSmartArtNodeEditContext, exports.useTableCellEditingContext = e.useTableCellEditingContext, exports.useTableCellSelection = e.useTableCellSelection, exports.useThemeEditing = e.useThemeEditing, exports.useToolbarAutoHide = e.useToolbarAutoHide, exports.useToolbarVisibility = e.useToolbarVisibility, exports.useTouchGestures = e.useTouchGestures, exports.useVersionHistory = e.useVersionHistory, exports.useVersionHistoryWiring = e.useVersionHistoryWiring, exports.useViewerSettingsDialog = e.useViewerSettingsDialog;
Binary file
Binary file
@@ -373,6 +373,14 @@ declare type BackgroundInput = {
373
373
  */
374
374
  declare type BackstageCardId = 'protect' | 'inspect' | 'embedFonts' | 'signatures' | 'versionHistory' | 'saveAsPptx' | 'saveAsPpsx' | 'saveAsPptm' | 'saveAsPpt' | 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage' | 'print' | 'share';
375
375
 
376
+ /** File tab (backstage) customisation. */
377
+ declare interface BackstageCustomization {
378
+ /** Navigation entries (pages) to remove from the File tab. */
379
+ hiddenPages?: readonly BackstagePage[];
380
+ /** Action cards to remove from the pages that show them. */
381
+ hiddenCards?: readonly BackstageCardId[];
382
+ }
383
+
376
384
  declare type BackstagePage = 'home' | 'new' | 'open' | 'info' | 'save' | 'saveAs' | 'print' | 'share' | 'export' | 'close' | 'account' | 'options';
377
385
 
378
386
  declare interface BehaviorBase {
@@ -1129,6 +1137,26 @@ declare interface ContentPartPptxElement extends PptxElementBase {
1129
1137
  /** Every command a canvas context menu can offer, in no particular order. */
1130
1138
  declare type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'edit-text' | 'edit-points' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'ai-ask' | 'ai-fix' | 'comment' | 'hyperlink' | 'table-insert-row-above' | 'table-insert-row-below' | 'table-delete-row' | 'table-insert-col-left' | 'table-insert-col-right' | 'table-delete-col' | 'table-merge-selected' | 'table-merge-right' | 'table-merge-down' | 'table-split' | 'group' | 'ungroup' | 'crop' | MergeShapesCommandId | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape' | 'delete';
1131
1139
 
1140
+ /** Right-click menu customisation. */
1141
+ declare interface ContextMenuCustomization {
1142
+ /** Additional host commands, independent of the viewer's AI connection. */
1143
+ extraElementCommands?: readonly HostMenuCommand<HostElementMenuContext>[];
1144
+ extraCanvasCommands?: readonly HostMenuCommand<HostCanvasMenuContext>[];
1145
+ /** Entries to remove from the element (right-click on a shape) menu. */
1146
+ hiddenElementCommands?: readonly ContextMenuCommandId[];
1147
+ /** Entries to remove from the empty-canvas menu. */
1148
+ hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
1149
+ /**
1150
+ * Entries to remove from the Edit Points menu (right-click a vertex or a
1151
+ * segment while editing a shape's points).
1152
+ */
1153
+ hiddenEditPointsCommands?: readonly EditPointsCommandId[];
1154
+ /** Remove the element context menu entirely. */
1155
+ disableElementMenu?: boolean;
1156
+ /** Remove the empty-canvas context menu entirely. */
1157
+ disableCanvasMenu?: boolean;
1158
+ }
1159
+
1132
1160
  /**
1133
1161
  * ContextMenu: generic right-click menu for the Vue editor.
1134
1162
  *
@@ -1138,6 +1166,7 @@ declare type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'ed
1138
1166
  * back to editor operations.
1139
1167
  */
1140
1168
  declare interface ContextMenuItem {
1169
+ onSelect?: () => void;
1141
1170
  /** Stable id emitted via `select`. Ignored for separators. */
1142
1171
  id: string;
1143
1172
  /** Visible label. */
@@ -1154,7 +1183,6 @@ declare interface ContextMenuItem {
1154
1183
  checked?: boolean;
1155
1184
  }
1156
1185
 
1157
- /** Reactive open/position/target state for the element context menu. */
1158
1186
  export declare interface ContextMenuState {
1159
1187
  open: boolean;
1160
1188
  x: number;
@@ -2150,6 +2178,26 @@ export declare const HIGHLIGHTER_OPACITY = 0.4;
2150
2178
 
2151
2179
  export declare const HIGHLIGHTER_WIDTH = 14;
2152
2180
 
2181
+ /** Snapshot of the slide on which the host command was offered. */
2182
+ declare interface HostCanvasMenuContext {
2183
+ slideIndex: number;
2184
+ }
2185
+
2186
+ /** Effective selection, including a single right-clicked element. */
2187
+ declare interface HostElementMenuContext extends HostCanvasMenuContext {
2188
+ elementIds: readonly string[];
2189
+ }
2190
+
2191
+ /** Plain text labels work identically in every framework. */
2192
+ declare interface HostMenuCommand<C> {
2193
+ id: string;
2194
+ label: string;
2195
+ /** Default: a separate group above the built-in commands. */
2196
+ group?: 'top' | 'bottom';
2197
+ disabled?: boolean | ((context: C) => boolean);
2198
+ onSelect: (context: C) => void;
2199
+ }
2200
+
2153
2201
  declare interface ImageOptions extends Partial<ElementPosition> {
2154
2202
  altText?: string;
2155
2203
  cropLeft?: number;
@@ -2439,6 +2487,19 @@ declare interface IPptxXmlBuilder {
2439
2487
  */
2440
2488
  export declare function isMobileViewport(width: number, height: number, isTouch: boolean): boolean;
2441
2489
 
2490
+ /** Editor keyboard-shortcut customisation. */
2491
+ declare interface KeyboardCustomization {
2492
+ /** Turn every editor shortcut off (the host owns the keyboard). */
2493
+ disableAll?: boolean;
2494
+ /** Editor commands whose shortcut is turned off. */
2495
+ disabled?: readonly EditorKeyActionName[];
2496
+ /**
2497
+ * Replacement chords per command. A remapped command no longer answers to
2498
+ * its built-in chord; it answers to the chord(s) given here instead.
2499
+ */
2500
+ remap?: Partial<Record<EditorKeyActionName, ShortcutChord | readonly ShortcutChord[]>>;
2501
+ }
2502
+
2442
2503
  export declare interface LaserPosition {
2443
2504
  x: number;
2444
2505
  y: number;
@@ -3117,6 +3178,27 @@ declare type OpenDocumentsView = 'savedView' | 'normal' | 'outline' | 'slideSort
3117
3178
  */
3118
3179
  export declare type OpenPrintWindow = (htmlDocument: string) => boolean;
3119
3180
 
3181
+ /** File > Options (the Settings dialog) customisation. */
3182
+ declare interface OptionsCustomization {
3183
+ /** Whole pages to remove from the dialog's category rail. */
3184
+ hiddenPages?: readonly OptionsPageId[];
3185
+ /** Sections (`<page>.<section>`) to remove from their page. */
3186
+ hiddenSections?: readonly OptionsSectionId[];
3187
+ /** Individual settings (`<group>.<key>`) to remove wherever they appear. */
3188
+ hiddenSettings?: readonly OptionsSettingId[];
3189
+ /**
3190
+ * Settings pinned to a fixed value. The value is forced into the options
3191
+ * store, user edits to it are ignored, and the control renders read-only.
3192
+ * Add the id to `hiddenSettings` too to lock it invisibly.
3193
+ */
3194
+ locked?: OptionsSettingValues;
3195
+ /**
3196
+ * Host defaults: the value a setting starts at when the user has not saved
3197
+ * a choice of their own. "Reset" returns to these, not to the built-ins.
3198
+ */
3199
+ defaults?: OptionsSettingValues;
3200
+ }
3201
+
3120
3202
  /**
3121
3203
  * A File > Options page: the ten PowerPoint categories plus `ai`, the AI
3122
3204
  * assistant page a binding adds when the host configured an assistant.
@@ -12610,6 +12692,8 @@ declare interface ResolvedCustomization {
12610
12692
  hiddenBackstagePages: ReadonlySet<BackstagePage>;
12611
12693
  hiddenBackstageCards: ReadonlySet<BackstageCardId>;
12612
12694
  hiddenElementCommands: ReadonlySet<ContextMenuCommandId>;
12695
+ extraElementCommands: NonNullable<ViewerCustomization['contextMenu']>['extraElementCommands'];
12696
+ extraCanvasCommands: NonNullable<ViewerCustomization['contextMenu']>['extraCanvasCommands'];
12613
12697
  hiddenCanvasCommands: ReadonlySet<CanvasContextMenuCommandId>;
12614
12698
  hiddenEditPointsCommands: ReadonlySet<EditPointsCommandId>;
12615
12699
  hiddenDrawingTools: ReadonlySet<ViewerDrawingToolId>;
@@ -13205,6 +13289,24 @@ declare type RibbonControlId = { [T in keyof Catalog]: { [G in keyof Catalog[T]]
13205
13289
  controls: infer C;
13206
13290
  } ? `${T & string}.${G & string}.${keyof C & string}` : never; }[keyof Catalog[T]]; }[keyof Catalog];
13207
13291
 
13292
+ /** Ribbon and toolbar customisation. */
13293
+ declare interface RibbonCustomization {
13294
+ /**
13295
+ * Ribbon tabs to remove (the File tab included, unlike Customize Ribbon),
13296
+ * and contextual tabs (`shapeFormat`, `pictureFormat`, ...) that should
13297
+ * never appear.
13298
+ */
13299
+ hiddenTabs?: readonly (ToolbarTabId | RibbonContextualTabId)[];
13300
+ /** Groups inside a tab to remove, as `<tab>.<group>` (`home.font`). */
13301
+ hiddenGroups?: readonly RibbonGroupId[];
13302
+ /**
13303
+ * Controls to remove: a top-level toolbar button / control cluster
13304
+ * (`share`, `zoom`, ...) or any ribbon control as
13305
+ * `<tab>.<group>.<control>` (`home.font.bold`).
13306
+ */
13307
+ hiddenButtons?: readonly (ToolbarButtonId | RibbonControlId)[];
13308
+ }
13309
+
13208
13310
  /** `<tab>.<group>`, for example `home.font`. */
13209
13311
  declare type RibbonGroupId = { [T in keyof Catalog]: { [G in keyof Catalog[T]]: `${T & string}.${G & string}`; }[keyof Catalog[T]]; }[keyof Catalog];
13210
13312
 
@@ -14176,6 +14278,13 @@ export declare interface ShortcutCatalogGroup {
14176
14278
  shortcuts: ShortcutDefinition[];
14177
14279
  }
14178
14280
 
14281
+ /**
14282
+ * A shortcut chord in the form `Mod+Shift+D`: modifiers `Mod` (Ctrl on
14283
+ * Windows/Linux, Cmd on macOS), `Ctrl`, `Meta`, `Alt`, `Shift`, joined by `+`,
14284
+ * followed by a `KeyboardEvent.key` value (`D`, `Delete`, `ArrowLeft`, `F2`).
14285
+ */
14286
+ declare type ShortcutChord = string;
14287
+
14179
14288
  /** A single entry in the shortcut catalog (drives the help UI). */
14180
14289
  export declare interface ShortcutDefinition {
14181
14290
  /** Stable identifier (also the action name where 1:1). */
@@ -16621,6 +16730,7 @@ export declare interface UseCommentsWiringResult {
16621
16730
  export declare function useContextMenu(input: UseContextMenuInput): UseContextMenuResult;
16622
16731
 
16623
16732
  export declare interface UseContextMenuInput {
16733
+ slideIndex?: () => number;
16624
16734
  canEdit: () => boolean;
16625
16735
  findActiveElement: (id: string) => PptxElement | undefined;
16626
16736
  tableSelection: Ref<TableSelectionState | null>;
@@ -18815,6 +18925,7 @@ export declare function useTableCellSelection(elementId: () => string, tableData
18815
18925
  export declare function useThemeEditing(input: UseThemeEditingInput): UseThemeEditingResult;
18816
18926
 
18817
18927
  export declare interface UseThemeEditingInput {
18928
+ handler?: Ref<PptxHandler | null | undefined>;
18818
18929
  slides: Ref<PptxSlide[]>;
18819
18930
  pptxTheme: Ref<PptxTheme | undefined>;
18820
18931
  themeColorMap: Ref<Record<string, string> | undefined>;
@@ -18831,13 +18942,14 @@ export declare interface UseThemeEditingInput {
18831
18942
  }
18832
18943
 
18833
18944
  export declare interface UseThemeEditingResult {
18945
+ themeEditorBusy: Ref<boolean>;
18834
18946
  applyTheme: (colorScheme: PptxThemeColorScheme, fontScheme: PptxThemeFontScheme | undefined, name: string) => void;
18835
18947
  applyThemePreset: (preset: PptxThemePreset) => void;
18836
18948
  applyThemeEdit: (payload: {
18837
18949
  colorScheme: PptxThemeColorScheme;
18838
18950
  fontScheme: PptxThemeFontScheme;
18839
18951
  name: string;
18840
- }) => void;
18952
+ }) => Promise<void>;
18841
18953
  }
18842
18954
 
18843
18955
  export declare function useToolbarAutoHide(options?: UseToolbarAutoHideOptions): UseToolbarAutoHideResult;
@@ -19104,6 +19216,28 @@ declare interface ViewerAdvancedOptions {
19104
19216
  printFrameSlides: boolean;
19105
19217
  }
19106
19218
 
19219
+ /**
19220
+ * The whole customisation object. Every field is optional; omitted fields hide
19221
+ * nothing and lock nothing.
19222
+ */
19223
+ declare interface ViewerCustomization {
19224
+ ribbon?: RibbonCustomization;
19225
+ options?: OptionsCustomization;
19226
+ backstage?: BackstageCustomization;
19227
+ contextMenu?: ContextMenuCustomization;
19228
+ keyboard?: KeyboardCustomization;
19229
+ /** Chrome regions to remove (`true` hides). */
19230
+ hiddenPanels?: readonly ViewerPanelId[];
19231
+ /** Feature areas to switch off (their buttons, menus, pages and panels). */
19232
+ disabledFeatures?: readonly ViewerFeatureId[];
19233
+ /** Dialogs to remove, along with every entry point that opens them. */
19234
+ hiddenDialogs?: readonly ViewerDialogId[];
19235
+ /** Export formats to remove from File > Export. */
19236
+ hiddenExportFormats?: readonly ViewerExportFormatId[];
19237
+ /** Drawing tools to remove from the Insert > Shapes gallery. */
19238
+ hiddenDrawingTools?: readonly ViewerDrawingToolId[];
19239
+ }
19240
+
19107
19241
  /** Dialogs (and the entry points that open them) a host can remove. */
19108
19242
  declare type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
19109
19243
 
@@ -19113,6 +19247,9 @@ declare type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'exp
19113
19247
  */
19114
19248
  declare type ViewerDrawingToolId = FreeformToolKind;
19115
19249
 
19250
+ /** Export formats offered by the File > Export page. */
19251
+ declare type ViewerExportFormatId = 'pdf' | 'png' | 'video' | 'gif' | 'json' | 'copyImage';
19252
+
19116
19253
  /** Feature areas that can be switched off as a whole. */
19117
19254
  declare type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode' | 'editPoints';
19118
19255