pptx-vue-viewer 4.38.0 → 4.39.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 (88) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/{AiChatPanel-BBLM6RsC.js → AiChatPanel-BUDB-oQp.js} +20 -20
  3. package/dist/AiChatPanel-BUDB-oQp.js.br +0 -0
  4. package/dist/AiChatPanel-BUDB-oQp.js.gz +0 -0
  5. package/dist/{AiChatPanel-DZVbT41j.cjs → AiChatPanel-Dqxd6cdd.cjs} +1 -1
  6. package/dist/AiChatPanel-Dqxd6cdd.cjs.br +0 -0
  7. package/dist/AiChatPanel-Dqxd6cdd.cjs.gz +0 -0
  8. package/dist/i18n/de.cjs +545 -41
  9. package/dist/i18n/de.cjs.br +0 -0
  10. package/dist/i18n/de.cjs.gz +0 -0
  11. package/dist/i18n/de.mjs +545 -41
  12. package/dist/i18n/de.mjs.br +0 -0
  13. package/dist/i18n/de.mjs.gz +0 -0
  14. package/dist/i18n/es.cjs +545 -41
  15. package/dist/i18n/es.cjs.br +0 -0
  16. package/dist/i18n/es.cjs.gz +0 -0
  17. package/dist/i18n/es.mjs +545 -41
  18. package/dist/i18n/es.mjs.br +0 -0
  19. package/dist/i18n/es.mjs.gz +0 -0
  20. package/dist/i18n/fr.cjs +548 -41
  21. package/dist/i18n/fr.cjs.br +0 -0
  22. package/dist/i18n/fr.cjs.gz +0 -0
  23. package/dist/i18n/fr.mjs +548 -41
  24. package/dist/i18n/fr.mjs.br +0 -0
  25. package/dist/i18n/fr.mjs.gz +0 -0
  26. package/dist/i18n/zh-CN.cjs +556 -52
  27. package/dist/i18n/zh-CN.cjs.br +0 -0
  28. package/dist/i18n/zh-CN.cjs.gz +0 -0
  29. package/dist/i18n/zh-CN.mjs +556 -52
  30. package/dist/i18n/zh-CN.mjs.br +0 -0
  31. package/dist/i18n/zh-CN.mjs.gz +0 -0
  32. package/dist/index.cjs +1 -1
  33. package/dist/index.cjs.br +0 -0
  34. package/dist/index.cjs.gz +0 -0
  35. package/dist/index.js +2 -2
  36. package/dist/index.js.br +0 -0
  37. package/dist/index.js.gz +0 -0
  38. package/dist/internals.cjs +1 -1
  39. package/dist/internals.cjs.br +0 -0
  40. package/dist/internals.cjs.gz +0 -0
  41. package/dist/internals.d.ts +35 -6
  42. package/dist/internals.js +2 -2
  43. package/dist/internals.js.br +0 -0
  44. package/dist/internals.js.gz +0 -0
  45. package/dist/pptx-vue-viewer.css +1 -1
  46. package/dist/pptx-vue-viewer.css.br +0 -0
  47. package/dist/pptx-vue-viewer.css.gz +0 -0
  48. package/dist/{useViewerSettingsDialog-CuAqWhek.cjs → useViewerSettingsDialog-DxBm2XyQ.cjs} +1357 -1301
  49. package/dist/useViewerSettingsDialog-DxBm2XyQ.cjs.br +0 -0
  50. package/dist/useViewerSettingsDialog-DxBm2XyQ.cjs.gz +0 -0
  51. package/dist/{useViewerSettingsDialog-xiT_-qkV.js → useViewerSettingsDialog-GFwiCVIT.js} +2525 -2479
  52. package/dist/useViewerSettingsDialog-GFwiCVIT.js.br +0 -0
  53. package/dist/useViewerSettingsDialog-GFwiCVIT.js.gz +0 -0
  54. package/dist/viewer/index.cjs +1 -1
  55. package/dist/viewer/index.cjs.br +0 -0
  56. package/dist/viewer/index.cjs.gz +0 -0
  57. package/dist/viewer/index.js +3 -3
  58. package/dist/viewer/index.js.br +0 -0
  59. package/dist/viewer/index.js.gz +0 -0
  60. package/dist/{viewer-CSgyXKbM.js → viewer-B8GEf0Gj.js} +10467 -10120
  61. package/dist/viewer-B8GEf0Gj.js.br +0 -0
  62. package/dist/viewer-B8GEf0Gj.js.gz +0 -0
  63. package/dist/{viewer-O0FC8m-z.cjs → viewer-CvLv3KhD.cjs} +4586 -4239
  64. package/dist/viewer-CvLv3KhD.cjs.br +0 -0
  65. package/dist/viewer-CvLv3KhD.cjs.gz +0 -0
  66. package/dist/{y-webrtc-DQgF_Oxq.js → y-webrtc-BxjFh_in.js} +23 -23
  67. package/dist/y-webrtc-BxjFh_in.js.br +0 -0
  68. package/dist/y-webrtc-BxjFh_in.js.gz +0 -0
  69. package/dist/{y-webrtc-i42iQh5C.cjs → y-webrtc-CjBSuBz8.cjs} +1 -1
  70. package/dist/y-webrtc-CjBSuBz8.cjs.br +0 -0
  71. package/dist/y-webrtc-CjBSuBz8.cjs.gz +0 -0
  72. package/package.json +3 -3
  73. package/dist/AiChatPanel-BBLM6RsC.js.br +0 -0
  74. package/dist/AiChatPanel-BBLM6RsC.js.gz +0 -0
  75. package/dist/AiChatPanel-DZVbT41j.cjs.br +0 -0
  76. package/dist/AiChatPanel-DZVbT41j.cjs.gz +0 -0
  77. package/dist/useViewerSettingsDialog-CuAqWhek.cjs.br +0 -0
  78. package/dist/useViewerSettingsDialog-CuAqWhek.cjs.gz +0 -0
  79. package/dist/useViewerSettingsDialog-xiT_-qkV.js.br +0 -0
  80. package/dist/useViewerSettingsDialog-xiT_-qkV.js.gz +0 -0
  81. package/dist/viewer-CSgyXKbM.js.br +0 -0
  82. package/dist/viewer-CSgyXKbM.js.gz +0 -0
  83. package/dist/viewer-O0FC8m-z.cjs.br +0 -0
  84. package/dist/viewer-O0FC8m-z.cjs.gz +0 -0
  85. package/dist/y-webrtc-DQgF_Oxq.js.br +0 -0
  86. package/dist/y-webrtc-DQgF_Oxq.js.gz +0 -0
  87. package/dist/y-webrtc-i42iQh5C.cjs.br +0 -0
  88. package/dist/y-webrtc-i42iQh5C.cjs.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,28 @@ A release listed with no entries carried no Conventional Commit in this package'
7
7
  scope: scripts/release-plan.mjs releases whenever any published file changes, not only on
8
8
  conventional commits.
9
9
 
10
+ ## [4.39.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.39.0) - 2026-10-16
11
+
12
+ ### Features
13
+
14
+ - **pptx:** Open the shared Insert sheet from the phone bottom bar ([53526bd](https://github.com/ChristopherVR/ooxml/commit/53526bdaecc293fdd1be168362010921df6c112e))
15
+ - **geometry:** Add the PowerPoint shape gallery catalogue ([2fb79e2](https://github.com/ChristopherVR/ooxml/commit/2fb79e2717cf9094a2692d04503e95cc09453467))
16
+ - **locales:** Translate the Shapes gallery and the Design galleries ([c4aaeb3](https://github.com/ChristopherVR/ooxml/commit/c4aaeb31f9119e0bc825b922b964dfc37d62f7d3))
17
+ - **vue:** Apply a whole theme from the Design > Themes gallery ([624cf94](https://github.com/ChristopherVR/ooxml/commit/624cf94e485ffc47e4a9ab335977f0fd4ac20290))
18
+ - **pptx:** Keep Slide Templates reachable from every New Slide menu ([be03af6](https://github.com/ChristopherVR/ooxml/commit/be03af63a0ed6c23a79800b500d3d425ea22773f))
19
+ - **pptx:** Add chart element format and options edit operations ([d99f83e](https://github.com/ChristopherVR/ooxml/commit/d99f83ec63e6251c4aaa39a31ad5d2f4d2659b54))
20
+ - **locales:** Translate the chart Format pane and Chart Format tab ([3b0b7d2](https://github.com/ChristopherVR/ooxml/commit/3b0b7d2aebac14bcbc0df22f5ceef695b4443cc9))
21
+ - **vue:** Add the chart Format pane and Chart Format tab ([461f497](https://github.com/ChristopherVR/ooxml/commit/461f4974ddd1ecd0673cd43086b1171471f6a6e9))
22
+ - **pptx:** Read chart element formats from each element's spPr on load ([46620d0](https://github.com/ChristopherVR/ooxml/commit/46620d08e61513234ba61964e4f751d679fcb28b))
23
+
24
+ ### Bug Fixes
25
+
26
+ - **svelte:** Translate media and picture inspector labels ([d0bde63](https://github.com/ChristopherVR/ooxml/commit/d0bde63ea46502a316e94f4b795901db20644c17))
27
+ - **svelte:** Translate table, text effects and SmartArt inspector labels ([ca38b70](https://github.com/ChristopherVR/ooxml/commit/ca38b708db0399fec7db9f72046296c82587116d))
28
+ - **ui:** Translate shared preset catalogue labels ([46661a1](https://github.com/ChristopherVR/ooxml/commit/46661a125e90b91b00f3fa66f584f232bc21a871))
29
+ - **vanilla:** Lay out the phone sheets and stack them above the canvas ([1479b46](https://github.com/ChristopherVR/ooxml/commit/1479b46f3d0d928e03d9c5b232960a88ee1d5cae))
30
+ - **pptx:** Stack the phone sheets above the canvas and end them above the bar ([5d38927](https://github.com/ChristopherVR/ooxml/commit/5d3892723a31b10109cc14e2211c616d5fb376bc))
31
+
10
32
  ## [4.38.0](https://github.com/ChristopherVR/ooxml/releases/tag/pptx-vue-viewer@4.38.0) - 2026-10-15
11
33
 
12
34
  ### Features
@@ -1,7 +1,7 @@
1
- import { Br as e } from "./useViewerSettingsDialog-xiT_-qkV.js";
2
- import { l as t, x as a } from "./viewer-CSgyXKbM.js";
1
+ import { Hr as e } from "./useViewerSettingsDialog-GFwiCVIT.js";
2
+ import { l as t, x as a } from "./viewer-B8GEf0Gj.js";
3
3
  import { Fragment as r, Suspense as s, computed as l, createBlock as o, createCommentVNode as i, createElementBlock as n, createElementVNode as p, createTextVNode as d, createVNode as c, defineComponent as u, nextTick as m, normalizeClass as x, normalizeStyle as g, onBeforeUnmount as f, onMounted as b, openBlock as v, ref as y, renderList as h, resolveDynamicComponent as k, shallowRef as w, toDisplayString as C, unref as P, vModelText as T, watch as S, withAsyncContext as I, withCtx as j, withDirectives as _ } from "vue";
4
- import { Bot as A, ChartColumn as E, Check as M, Crosshair as F, Eye as B, Film as D, GitMerge as N, History as L, LayoutTemplate as R, LoaderCircle as H, MessageSquare as W, MessageSquarePlus as z, Move as V, Navigation as K, Palette as O, Pin as U, PinOff as $, Plus as q, Search as G, Send as J, Shapes as Q, Sparkles as X, Square as Y, StickyNote as Z, Table as ee, Trash2 as te, TriangleAlert as ae, Type as re, User as se, Wrench as le, X as oe } from "lucide-vue-next";
4
+ import { Bot as A, ChartColumn as E, Check as M, Crosshair as F, Eye as B, Film as D, GitMerge as N, History as H, LayoutTemplate as L, LoaderCircle as R, MessageSquare as W, MessageSquarePlus as z, Move as V, Navigation as K, Palette as O, Pin as U, PinOff as $, Plus as q, Search as G, Send as J, Shapes as Q, Sparkles as X, Square as Y, StickyNote as Z, Table as ee, Trash2 as te, TriangleAlert as ae, Type as re, User as se, Wrench as le, X as oe } from "lucide-vue-next";
5
5
  import { createAiChatHistoryController as ie, createAiChatSession as ne, deckIdFromBridge as pe, describeToolActivity as de, extractReadyToolCalls as ce, focusTargetChips as ue, humanizeDiffLine as me, isAiAvailable as xe, isTwoTableFocus as ge, mergeTablesDirective as fe, summarizeToolArgs as be, toRenderableParts as ve, toolCanvasTarget as ye, toolLabel as he } from "ooxml-ui/pptx/ai";
6
6
  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"], Te = [
7
7
  "disabled",
@@ -59,10 +59,10 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
59
59
  "title",
60
60
  "aria-label",
61
61
  "aria-pressed"
62
- ], De = ["title", "aria-label"], Ne = ["title", "aria-label"], Le = {
62
+ ], De = ["title", "aria-label"], Ne = ["title", "aria-label"], He = {
63
63
  key: 0,
64
64
  class: "flex items-center gap-2 border-t border-primary/20 bg-primary/5 px-2.5 py-1"
65
- }, Re = { class: "text-[11px] font-medium text-primary" }, He = u({
65
+ }, Le = { class: "text-[11px] font-medium text-primary" }, Re = u({
66
66
  __name: "AiFocusBar",
67
67
  props: {
68
68
  targets: {},
@@ -130,9 +130,9 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
130
130
  class: "w-3.5 h-3.5"
131
131
  }))], 8, Ne))
132
132
  ])
133
- ]), t.pickMode ? (v(), n("div", Le, [
133
+ ]), t.pickMode ? (v(), n("div", He, [
134
134
  c(P(F), { class: "w-3.5 h-3.5 shrink-0 animate-pulse text-primary" }),
135
- p("span", Re, C(P(g)("pptx.ai.pickElementHint")), 1),
135
+ p("span", Le, C(P(g)("pptx.ai.pickElementHint")), 1),
136
136
  p("button", {
137
137
  type: "button",
138
138
  class: "ml-auto rounded-sm bg-primary px-2 py-0.5 text-[11px] font-medium text-primary-foreground hover:bg-primary/90",
@@ -214,7 +214,7 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
214
214
  shape: Q,
215
215
  theme: O,
216
216
  table: ee,
217
- slide: R,
217
+ slide: L,
218
218
  chart: E,
219
219
  move: V,
220
220
  delete: te,
@@ -228,7 +228,7 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
228
228
  p("div", Ye, [
229
229
  (v(), o(k(b.value), { class: x(P(a)("w-3.5 h-3.5 shrink-0", u.value ? "text-destructive" : "text-muted-foreground")) }, null, 8, ["class"])),
230
230
  p("span", { class: x(P(a)("truncate", u.value ? "text-destructive" : "text-foreground")) }, C(f.value.label), 3),
231
- p("span", { class: x(P(a)("ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]", u.value ? "bg-destructive/15 text-destructive" : m.value ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground")) }, [g.value ? (v(), o(P(H), {
231
+ p("span", { class: x(P(a)("ml-auto inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 text-[10px]", u.value ? "bg-destructive/15 text-destructive" : m.value ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground")) }, [g.value ? (v(), o(P(R), {
232
232
  key: 0,
233
233
  class: "w-3 h-3 animate-spin"
234
234
  })) : m.value ? (v(), o(P(M), {
@@ -437,7 +437,7 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
437
437
  e && u.bridge.goToSlide(e.slideIndex), u.aiPanel.showChangeBatch(e);
438
438
  });
439
439
  f(() => D());
440
- const N = l(() => u.aiPanel.pickTargets.value.length > 0), R = l(() => N.value ? u.aiPanel.pickTargets.value : u.aiPanel.pinnedFocus.value ?? u.aiPanel.liveFocusTargets.value), H = l(() => !N.value && null !== u.aiPanel.pinnedFocus.value);
440
+ const N = l(() => u.aiPanel.pickTargets.value.length > 0), L = l(() => N.value ? u.aiPanel.pickTargets.value : u.aiPanel.pinnedFocus.value ?? u.aiPanel.liveFocusTargets.value), R = l(() => !N.value && null !== u.aiPanel.pinnedFocus.value);
441
441
  function W(e) {
442
442
  u.aiPanel.flashToolTarget(null), A(e);
443
443
  }
@@ -449,7 +449,7 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
449
449
  type: "button",
450
450
  class: "inline-flex items-center gap-1 rounded-sm px-1.5 py-1 text-[12px] text-muted-foreground hover:bg-accent max-md:min-h-[44px]!",
451
451
  onClick: t[0] || (t[0] = (e) => B.value = !B.value)
452
- }, [c(P(L), { class: "w-3.5 h-3.5" }), d(" " + C(P(m)("pptx.ai.chats")), 1)]), p("div", wt, [p("button", {
452
+ }, [c(P(H), { class: "w-3.5 h-3.5" }), d(" " + C(P(m)("pptx.ai.chats")), 1)]), p("div", wt, [p("button", {
453
453
  type: "button",
454
454
  title: P(m)("pptx.ai.newChat"),
455
455
  "aria-label": P(m)("pptx.ai.newChat"),
@@ -476,10 +476,10 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
476
476
  onNewChat: t[5] || (t[5] = (e) => P(F).newChat()),
477
477
  onClose: t[6] || (t[6] = (e) => B.value = !1)
478
478
  }, null, 8, ["chats", "active-chat-id"])) : i("", !0),
479
- c(He, {
480
- targets: R.value,
479
+ c(Re, {
480
+ targets: L.value,
481
481
  slides: u.bridge.getSlides(),
482
- "is-pinned": H.value,
482
+ "is-pinned": R.value,
483
483
  "pick-mode": u.aiPanel.pickMode.value,
484
484
  "has-picks": N.value,
485
485
  onPin: u.aiPanel.pinFocus,
@@ -543,10 +543,10 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
543
543
  }), Ft = { class: "flex items-center gap-2 border-b border-border px-3 py-2" }, Bt = { class: "text-sm font-semibold text-foreground" }, Dt = ["title", "aria-label"], Nt = {
544
544
  key: 0,
545
545
  class: "flex flex-1 flex-col items-center justify-center gap-2 text-muted-foreground"
546
- }, Lt = {
546
+ }, Ht = {
547
547
  key: 1,
548
548
  class: "flex flex-1 flex-col items-center justify-center gap-2 px-6 text-center"
549
- }, Rt = { class: "text-sm font-medium text-foreground" }, Ht = { class: "text-[12px] text-muted-foreground" }, Wt = { class: "flex flex-1 flex-col items-center justify-center gap-2 text-muted-foreground" }, zt = u({
549
+ }, Lt = { class: "text-sm font-medium text-foreground" }, Rt = { class: "text-[12px] text-muted-foreground" }, Wt = { class: "flex flex-1 flex-col items-center justify-center gap-2 text-muted-foreground" }, zt = u({
550
550
  __name: "AiChatPanel",
551
551
  props: {
552
552
  bridge: {},
@@ -597,12 +597,12 @@ var ke = { class: "border-t border-border p-2" }, we = { class: "flex items-end
597
597
  class: "ml-auto flex items-center justify-center rounded-sm p-1 text-muted-foreground transition-colors hover:bg-accent max-md:min-w-[44px]! max-md:min-h-[44px]!",
598
598
  onClick: t[0] || (t[0] = (e) => u("close"))
599
599
  }, [c(P(oe), { class: "w-4 h-4" })], 8, Dt)
600
- ]), "checking" === P(x) ? (v(), n("div", Nt, [c(P(H), { class: "w-5 h-5 animate-spin" })])) : "unavailable" === P(x) || "error" === P(x) ? (v(), n("div", Lt, [
600
+ ]), "checking" === P(x) ? (v(), n("div", Nt, [c(P(R), { class: "w-5 h-5 animate-spin" })])) : "unavailable" === P(x) || "error" === P(x) ? (v(), n("div", Ht, [
601
601
  c(P(ae), { class: "w-6 h-6 text-muted-foreground" }),
602
- p("p", Rt, C(P(m)("pptx.ai.unavailableTitle")), 1),
603
- p("p", Ht, C(P(b)?.message ?? P(m)("pptx.ai.unavailableHint")), 1)
602
+ p("p", Lt, C(P(m)("pptx.ai.unavailableTitle")), 1),
603
+ p("p", Rt, C(P(b)?.message ?? P(m)("pptx.ai.unavailableHint")), 1)
604
604
  ])) : "ready" === P(x) && P(f) ? (v(), o(s, { key: 2 }, {
605
- fallback: j(() => [p("div", Wt, [c(P(H), { class: "w-5 h-5 animate-spin" })])]),
605
+ fallback: j(() => [p("div", Wt, [c(P(R), { class: "w-5 h-5 animate-spin" })])]),
606
606
  default: j(() => [c(Mt, {
607
607
  session: P(f),
608
608
  config: d.config,
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- const e = require("./useViewerSettingsDialog-CuAqWhek.cjs"), t = require("./viewer-O0FC8m-z.cjs");
1
+ const e = require("./useViewerSettingsDialog-DxBm2XyQ.cjs"), t = require("./viewer-CvLv3KhD.cjs");
2
2
  let r = require("vue"), a = require("lucide-vue-next"), n = require("ooxml-ui/pptx/ai");
3
3
  var o = { class: "border-t border-border p-2" }, l = { class: "flex items-end gap-1.5 rounded-md border border-input bg-background px-2 py-1.5 focus-within:border-ring" }, s = ["placeholder", "aria-label"], i = ["title", "aria-label"], c = [
4
4
  "disabled",
Binary file
Binary file