pptx-vue-viewer 4.30.2 → 4.31.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 (66) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +3 -1
  3. package/dist/{AiChatPanel-B_XwS0In.js → AiChatPanel-C0WToTWJ.js} +2 -2
  4. package/dist/AiChatPanel-C0WToTWJ.js.br +0 -0
  5. package/dist/AiChatPanel-C0WToTWJ.js.gz +0 -0
  6. package/dist/{AiChatPanel-BXuMNqFB.cjs → AiChatPanel-DpuVK4Ao.cjs} +1 -1
  7. package/dist/AiChatPanel-DpuVK4Ao.cjs.br +0 -0
  8. package/dist/AiChatPanel-DpuVK4Ao.cjs.gz +0 -0
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.cjs.br +0 -0
  11. package/dist/index.cjs.gz +0 -0
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.js +2 -2
  14. package/dist/index.js.br +0 -0
  15. package/dist/index.js.gz +0 -0
  16. package/dist/internals.cjs +1 -1
  17. package/dist/internals.cjs.br +0 -0
  18. package/dist/internals.cjs.gz +0 -0
  19. package/dist/internals.js +1 -1
  20. package/dist/internals.js.br +0 -0
  21. package/dist/internals.js.gz +0 -0
  22. package/dist/pptx-vue-viewer.css +23 -21
  23. package/dist/pptx-vue-viewer.css.br +0 -0
  24. package/dist/pptx-vue-viewer.css.gz +0 -0
  25. package/dist/{useViewerSettingsDialog-DOAB5Wso.js → useViewerSettingsDialog-Bj2ZtxB4.js} +2443 -2414
  26. package/dist/useViewerSettingsDialog-Bj2ZtxB4.js.br +0 -0
  27. package/dist/useViewerSettingsDialog-Bj2ZtxB4.js.gz +0 -0
  28. package/dist/{useViewerSettingsDialog-BMdcXvMi.cjs → useViewerSettingsDialog-Dc9jvDIW.cjs} +1332 -1303
  29. package/dist/useViewerSettingsDialog-Dc9jvDIW.cjs.br +0 -0
  30. package/dist/useViewerSettingsDialog-Dc9jvDIW.cjs.gz +0 -0
  31. package/dist/viewer/index.cjs +1 -1
  32. package/dist/viewer/index.cjs.br +0 -0
  33. package/dist/viewer/index.cjs.gz +0 -0
  34. package/dist/viewer/index.d.ts +3 -0
  35. package/dist/viewer/index.js +2 -2
  36. package/dist/viewer/index.js.br +0 -0
  37. package/dist/viewer/index.js.gz +0 -0
  38. package/dist/{viewer-BJqvAVSn.cjs → viewer-QBvmDTj9.cjs} +43 -5
  39. package/dist/viewer-QBvmDTj9.cjs.br +0 -0
  40. package/dist/viewer-QBvmDTj9.cjs.gz +0 -0
  41. package/dist/{viewer-B2f0Nuoh.js → viewer-oCDiFCS1.js} +6457 -6419
  42. package/dist/viewer-oCDiFCS1.js.br +0 -0
  43. package/dist/viewer-oCDiFCS1.js.gz +0 -0
  44. package/dist/{y-webrtc-3RAN0FIn.cjs → y-webrtc-DEfkgfUy.cjs} +1 -1
  45. package/dist/y-webrtc-DEfkgfUy.cjs.br +0 -0
  46. package/dist/y-webrtc-DEfkgfUy.cjs.gz +0 -0
  47. package/dist/{y-webrtc-CP84AXsV.js → y-webrtc-ERT-pQDM.js} +1 -1
  48. package/dist/y-webrtc-ERT-pQDM.js.br +0 -0
  49. package/dist/y-webrtc-ERT-pQDM.js.gz +0 -0
  50. package/package.json +4 -4
  51. package/dist/AiChatPanel-BXuMNqFB.cjs.br +0 -0
  52. package/dist/AiChatPanel-BXuMNqFB.cjs.gz +0 -0
  53. package/dist/AiChatPanel-B_XwS0In.js.br +0 -0
  54. package/dist/AiChatPanel-B_XwS0In.js.gz +0 -0
  55. package/dist/useViewerSettingsDialog-BMdcXvMi.cjs.br +0 -0
  56. package/dist/useViewerSettingsDialog-BMdcXvMi.cjs.gz +0 -0
  57. package/dist/useViewerSettingsDialog-DOAB5Wso.js.br +0 -0
  58. package/dist/useViewerSettingsDialog-DOAB5Wso.js.gz +0 -0
  59. package/dist/viewer-B2f0Nuoh.js.br +0 -0
  60. package/dist/viewer-B2f0Nuoh.js.gz +0 -0
  61. package/dist/viewer-BJqvAVSn.cjs.br +0 -0
  62. package/dist/viewer-BJqvAVSn.cjs.gz +0 -0
  63. package/dist/y-webrtc-3RAN0FIn.cjs.br +0 -0
  64. package/dist/y-webrtc-3RAN0FIn.cjs.gz +0 -0
  65. package/dist/y-webrtc-CP84AXsV.js.br +0 -0
  66. package/dist/y-webrtc-CP84AXsV.js.gz +0 -0
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("../useViewerSettingsDialog-BMdcXvMi.cjs"), t = require("../viewer-BJqvAVSn.cjs");
2
+ const e = require("../useViewerSettingsDialog-Dc9jvDIW.cjs"), t = require("../viewer-QBvmDTj9.cjs");
3
3
  let r = require("ooxml-ui/pptx");
4
4
  Object.defineProperty(exports, "AUDIENCE_HASH", {
5
5
  enumerable: !0,
Binary file
Binary file
@@ -27,6 +27,7 @@ import { getResolvedShapeClipPath } from 'ooxml-ui/pptx';
27
27
  import { getResolvedShapeClipPathFor } from 'ooxml-ui/pptx';
28
28
  import { Guide } from 'ooxml-ui/pptx';
29
29
  import { GuideEntry } from 'ooxml-ui/pptx';
30
+ import { HyperlinkClickHandler } from 'ooxml-ui/pptx';
30
31
  import { ImagePathElement } from 'ooxml-ui/pptx';
31
32
  import { InlineListController } from 'ooxml-ui/pptx';
32
33
  import { InlineListReadResult } from 'ooxml-ui/pptx';
@@ -1199,6 +1200,8 @@ export declare interface PowerPointViewerProps {
1199
1200
  fileName?: string;
1200
1201
  /** Whether editing actions are enabled. */
1201
1202
  canEdit?: boolean;
1203
+ /** Fired before following a link; return false to cancel its default action. */
1204
+ onHyperlinkClick?: HyperlinkClickHandler;
1202
1205
  /**
1203
1206
  * Recovery autosave: after an edit the deck is re-serialised (always as a
1204
1207
  * plain, unencrypted package, because recovery has no password), stashed in
@@ -1,3 +1,3 @@
1
- import { $ as a, Ar as s, Bn as r, C as e, Dr as o, Er as n, Hn as t, Kn as l, L as i, M as d, Mr as R, N as S, Nr as m, Or as C, P as b, Pr as w, S as c, Vn as v, X as u, Yn as f, Z as g, cr as j, dr as p, fr as x, j as y, jr as E, kr as M, lr as O, lt as P, nr as T, vr as A, w as D, x as I, yr as V } from "../useViewerSettingsDialog-DOAB5Wso.js";
2
- import { C as h, S as k, _ as B, a as N, b as Z, c as q, d as F, f as H, g as K, h as L, i as W, m as X, n as Y, o as $, p as _, r as z, s as G, t as J, u as Q, v as U, w as aa, y as sa } from "../viewer-B2f0Nuoh.js";
1
+ import { $ as a, Ar as s, Bn as r, C as e, Dr as o, Er as n, Hn as t, Kn as l, L as i, M as d, Mr as R, N as S, Nr as m, Or as C, P as b, Pr as w, S as c, Vn as v, X as u, Yn as f, Z as g, cr as j, dr as p, fr as x, j as y, jr as E, kr as M, lr as O, lt as P, nr as T, vr as A, w as D, x as I, yr as V } from "../useViewerSettingsDialog-Bj2ZtxB4.js";
2
+ import { C as h, S as k, _ as B, a as N, b as Z, c as q, d as F, f as H, g as K, h as L, i as W, m as X, n as Y, o as $, p as _, r as z, s as G, t as J, u as Q, v as U, w as aa, y as sa } from "../viewer-oCDiFCS1.js";
3
3
  export { F as AUDIENCE_HASH, V as ChartRenderer, U as CollaborationCursors, aa as CollaborationStatusIndicator, A as ConnectorRenderer, s as DEFAULT_CANVAS_HEIGHT, E as DEFAULT_CANVAS_WIDTH, R as DEFAULT_FILL_COLOR, m as DEFAULT_STROKE_COLOR, w as DEFAULT_TEXT_COLOR, v as ElementRenderer, x as EquationRenderer, Q as FollowModeBar, p as InkRenderer, h as InlineTextEditor, O as Model3DRenderer, j as OleRenderer, q as PowerPointViewer, B as RemoteSelectionOverlay, Z as RibbonToolbar, k as SelectionOverlay, sa as SlideCanvas, r as SlideStage, T as SmartArtRenderer, f as TableRenderer, l as WordArtText, t as ZoomRenderer, d as buildInitialGuides, H as clearAudienceContent, S as collectImagePaths, b as collectMediaElements, I as exportAllSlidesToSvg, c as exportAllSlidesToSvgBlobs, e as exportSlideToSvg, D as exportSlideToSvgBlob, n as getContainerStyle, o as getImageSrc, Y as getResolvedShapeClipPath, z as getResolvedShapeClipPathFor, C as getShapeFillStrokeStyle, M as getTextBlockStyle, _ as isAudienceTab, X as loadAudienceContent, J as overlayInlineTextSnapshot, L as parseAudienceNonce, K as storeAudienceContent, P as useCollaboration, W as useCollaborativeHistory, N as useCollaborativeState, a as useEditorHistory, g as useEditorOperations, u as useElementDrag, i as useInlineEditing, y as useLoadContent, $ as usePresenceTracking, G as useYjsProvider };
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- const e = require("./useViewerSettingsDialog-BMdcXvMi.cjs");
1
+ const e = require("./useViewerSettingsDialog-Dc9jvDIW.cjs");
2
2
  require("./i18n.cjs");
3
3
  let t = require("ooxml-ui/pptx"), n = require("vue"), o = require("lucide-vue-next"), a = require("clsx"), l = require("tailwind-merge"), r = require("ooxml-ui/pptx/ai"), i = require("ooxml-ui/pptx/i18n");
4
4
  var s = Symbol("pptx-viewer-theme");
@@ -2076,7 +2076,7 @@ var Nn = [".state"], Vn = (0, n.defineComponent)({
2076
2076
  onDrawRequest: i
2077
2077
  }, null, 40, Nn));
2078
2078
  }
2079
- }), Tn = "4.30.2", Fn = Symbol("pptx-account-auth");
2079
+ }), Tn = "4.31.0", Fn = Symbol("pptx-account-auth");
2080
2080
  var Dn = { class: "pptx-vue-account mt-8 flex max-w-[760px] flex-col gap-6" }, Pn = { class: "pptx-vue-account-section border border-border bg-card p-6 text-card-foreground" }, In = { class: "text-base font-semibold" }, _n = { class: "mt-4 flex items-center gap-4" }, An = { class: "min-w-0 flex-1" }, zn = { class: "block text-xs font-medium text-muted-foreground" }, Mn = ["value", "placeholder"], On = { class: "mt-4" }, Rn = { class: "block text-xs font-medium text-muted-foreground" }, Ln = { class: "mt-2 flex gap-2" }, Un = [
2081
2081
  "aria-pressed",
2082
2082
  "aria-label",
@@ -22833,6 +22833,7 @@ var LH = [".state"], UH = (0, n.defineComponent)({
22833
22833
  type: Boolean,
22834
22834
  default: !1
22835
22835
  },
22836
+ onHyperlinkClick: {},
22836
22837
  presentationProperties: {},
22837
22838
  activeCustomShow: {},
22838
22839
  customShows: {},
@@ -23317,6 +23318,21 @@ var LH = [".state"], UH = (0, n.defineComponent)({
23317
23318
  }
23318
23319
  "advance" === (0, t.handlePresentationStageClick)(e.target, g.activeSlide.value, Y.value, X) && g.advanceFromClick();
23319
23320
  }
23321
+ (0, n.watchEffect)((e) => {
23322
+ const n = i.value;
23323
+ n && e((0, t.attachViewerHyperlinks)(n, {
23324
+ getState: () => ({
23325
+ slide: g.activeSlide.value,
23326
+ slideCount: l.slides.length,
23327
+ currentSlideIndex: g.currentIndex.value,
23328
+ editable: !1,
23329
+ presenting: !0
23330
+ }),
23331
+ goToSlide: g.goTo,
23332
+ onHyperlinkClick: (e) => l.onHyperlinkClick?.(e),
23333
+ confirmExternalHyperlink: X.confirmUrl
23334
+ }));
23335
+ }, { flush: "post" });
23320
23336
  let Q = null;
23321
23337
  (function(e) {
23322
23338
  const o = (0, t.createPresentationKeyBuffer)();
@@ -23642,7 +23658,7 @@ var LH = [".state"], UH = (0, n.defineComponent)({
23642
23658
  ])
23643
23659
  ], 34)]));
23644
23660
  }
23645
- }), BK = e._plugin_vue_export_helper_default(CK, [["__scopeId", "data-v-1d585c27"]]);
23661
+ }), BK = e._plugin_vue_export_helper_default(CK, [["__scopeId", "data-v-ac26cd7e"]]);
23646
23662
  var NK = (0, n.defineComponent)({
23647
23663
  __name: "ReadingViewStage",
23648
23664
  props: {
@@ -24061,6 +24077,7 @@ var NK = (0, n.defineComponent)({
24061
24077
  content: {},
24062
24078
  activeSlideIndex: {},
24063
24079
  canEdit: { type: Boolean },
24080
+ onHyperlinkClick: { type: Function },
24064
24081
  presentationProperties: {},
24065
24082
  customShows: {},
24066
24083
  authoredRange: {},
@@ -24130,6 +24147,7 @@ var NK = (0, n.defineComponent)({
24130
24147
  ])) : (0, n.createCommentVNode)("", !0),
24131
24148
  e.presentation.presenting.value ? ((0, n.openBlock)(), (0, n.createBlock)(BK, {
24132
24149
  key: 3,
24150
+ "on-hyperlink-click": e.onHyperlinkClick,
24133
24151
  slides: e.mergedSlides,
24134
24152
  "canvas-size": e.canvasSize,
24135
24153
  "media-data-urls": e.mediaDataUrls,
@@ -24147,6 +24165,7 @@ var NK = (0, n.defineComponent)({
24147
24165
  onClose: e.presentation.closePresentation,
24148
24166
  onSlideChange: e.presentation.handlePresentSlideChange
24149
24167
  }, null, 8, [
24168
+ "on-hyperlink-click",
24150
24169
  "slides",
24151
24170
  "canvas-size",
24152
24171
  "media-data-urls",
@@ -24237,7 +24256,7 @@ var NK = (0, n.defineComponent)({
24237
24256
  var a;
24238
24257
  }), 128))])], 8, yG))), 128))])) : ((0, n.openBlock)(), (0, n.createElementBlock)("div", fG, [(0, n.createElementVNode)("p", gG, (0, n.toDisplayString)((0, n.unref)(i)("pptx.accessibility.noIssuesFound")), 1), (0, n.createElementVNode)("p", xG, (0, n.toDisplayString)((0, n.unref)(i)("pptx.accessibility.noIssuesHint")), 1)]))], 8, pG));
24239
24258
  }
24240
- }), VG = (0, n.defineAsyncComponent)(() => Promise.resolve().then(() => require("./AiChatPanel-BXuMNqFB.cjs"))), TG = { class: "pptx-vue-custom-shows flex flex-col gap-2 p-2.5 text-xs text-foreground" }, FG = { class: "pptx-vue-cs-header flex items-center" }, DG = { class: "pptx-vue-cs-title m-0 text-[13px] font-semibold" }, PG = { class: "pptx-vue-cs-list-row flex items-center gap-1.5" }, IG = ["aria-label", "value"], _G = {
24259
+ }), VG = (0, n.defineAsyncComponent)(() => Promise.resolve().then(() => require("./AiChatPanel-DpuVK4Ao.cjs"))), TG = { class: "pptx-vue-custom-shows flex flex-col gap-2 p-2.5 text-xs text-foreground" }, FG = { class: "pptx-vue-cs-header flex items-center" }, DG = { class: "pptx-vue-cs-title m-0 text-[13px] font-semibold" }, PG = { class: "pptx-vue-cs-list-row flex items-center gap-1.5" }, IG = ["aria-label", "value"], _G = {
24241
24260
  key: 0,
24242
24261
  value: "",
24243
24262
  disabled: ""
@@ -25791,6 +25810,7 @@ var rj = ["aria-busy", "tabindex"], ij = {
25791
25810
  type: Boolean,
25792
25811
  default: !1
25793
25812
  },
25813
+ onHyperlinkClick: {},
25794
25814
  autosave: { type: Boolean },
25795
25815
  autosaveIntervalMs: {},
25796
25816
  class: {},
@@ -27144,7 +27164,23 @@ var rj = ["aria-busy", "tabindex"], ij = {
27144
27164
  activeSlideIndex: Se,
27145
27165
  pushHistory: Ke.pushHistory
27146
27166
  }), oo = (0, n.computed)(() => Q.value.length > 0);
27147
- const ao = (0, n.ref)(null), { isMobile: lo, isTouchDevice: ro } = e.useIsMobile(768), { keyboardInset: io } = e.useKeyboardInsets(), so = (0, n.ref)(null), co = (0, n.ref)(null);
27167
+ const ao = (0, n.ref)(null);
27168
+ (0, n.watchEffect)((e) => {
27169
+ const n = ao.value, o = xe.value;
27170
+ n && e((0, t.attachViewerHyperlinks)(n, {
27171
+ getState: () => ({
27172
+ slide: Ue.value[Se.value],
27173
+ slideCount: Ue.value.length,
27174
+ currentSlideIndex: Se.value,
27175
+ editable: o,
27176
+ presenting: wt.presenting.value
27177
+ }),
27178
+ goToSlide: Ce,
27179
+ onHyperlinkClick: (e) => d.onHyperlinkClick?.(e),
27180
+ confirmExternalHyperlink: (e) => !(0, t.shouldConfirmExternalHyperlink)(S.value, e) || window.confirm(`${v("pptx.options.trust.confirmHyperlinks")}\n\n${e}`)
27181
+ }));
27182
+ }, { flush: "post" });
27183
+ const { isMobile: lo, isTouchDevice: ro } = e.useIsMobile(768), { keyboardInset: io } = e.useKeyboardInsets(), so = (0, n.ref)(null), co = (0, n.ref)(null);
27148
27184
  e.useTouchGestures({
27149
27185
  targetRef: so,
27150
27186
  currentScale: Ve,
@@ -28618,6 +28654,7 @@ var rj = ["aria-busy", "tabindex"], ij = {
28618
28654
  ]),
28619
28655
  (0, n.createVNode)(dG, {
28620
28656
  "deck-views": (0, n.unref)(zt),
28657
+ "on-hyperlink-click": d.onHyperlinkClick,
28621
28658
  presentation: (0, n.unref)(wt),
28622
28659
  "merged-slides": (0, n.unref)(Ue),
28623
28660
  slides: (0, n.unref)(A),
@@ -28639,6 +28676,7 @@ var rj = ["aria-busy", "tabindex"], ij = {
28639
28676
  "toggle-slide-hidden": (0, n.unref)(Lt)
28640
28677
  }, null, 8, [
28641
28678
  "deck-views",
28679
+ "on-hyperlink-click",
28642
28680
  "presentation",
28643
28681
  "merged-slides",
28644
28682
  "slides",
Binary file
Binary file