pptx-vue-viewer 1.1.17 → 1.1.19
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.
- package/dist/gif-encoder-BfVA22Ng.cjs +106 -0
- package/dist/gif-encoder-BfVA22Ng.cjs.br +0 -0
- package/dist/gif-encoder-BfVA22Ng.cjs.gz +0 -0
- package/dist/gif-encoder-DKeGv43e.js +107 -0
- package/dist/gif-encoder-DKeGv43e.js.br +0 -0
- package/dist/gif-encoder-DKeGv43e.js.gz +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.br +0 -0
- package/dist/index.cjs.gz +0 -0
- package/dist/index.js +1 -1
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/viewer/PowerPointViewer.vue.d.ts.map +1 -1
- package/dist/viewer/components/ComparePanel.vue.d.ts +34 -0
- package/dist/viewer/components/ComparePanel.vue.d.ts.map +1 -0
- package/dist/viewer/components/EquationEditorDialog.vue.d.ts +38 -0
- package/dist/viewer/components/EquationEditorDialog.vue.d.ts.map +1 -0
- package/dist/viewer/components/ExportMenu.vue.d.ts +7 -2
- package/dist/viewer/components/ExportMenu.vue.d.ts.map +1 -1
- package/dist/viewer/components/FollowModeBar.vue.d.ts +15 -0
- package/dist/viewer/components/FollowModeBar.vue.d.ts.map +1 -0
- package/dist/viewer/components/InsertSmartArtDialog.vue.d.ts +31 -0
- package/dist/viewer/components/InsertSmartArtDialog.vue.d.ts.map +1 -0
- package/dist/viewer/components/PresentationMode.vue.d.ts.map +1 -1
- package/dist/viewer/components/PresentationTransitionOverlay.vue.d.ts +44 -0
- package/dist/viewer/components/PresentationTransitionOverlay.vue.d.ts.map +1 -0
- package/dist/viewer/components/RemoteSelectionOverlay.vue.d.ts +38 -0
- package/dist/viewer/components/RemoteSelectionOverlay.vue.d.ts.map +1 -0
- package/dist/viewer/components/SettingsDialog.vue.d.ts +34 -0
- package/dist/viewer/components/SettingsDialog.vue.d.ts.map +1 -0
- package/dist/viewer/components/SlideDiffRow.vue.d.ts +28 -0
- package/dist/viewer/components/SlideDiffRow.vue.d.ts.map +1 -0
- package/dist/viewer/components/SmartArtPreviews.vue.d.ts +17 -0
- package/dist/viewer/components/SmartArtPreviews.vue.d.ts.map +1 -0
- package/dist/viewer/components/VersionHistoryPanel.vue.d.ts +38 -0
- package/dist/viewer/components/VersionHistoryPanel.vue.d.ts.map +1 -0
- package/dist/viewer/components/smart-art-presets.d.ts +31 -0
- package/dist/viewer/components/smart-art-presets.d.ts.map +1 -0
- package/dist/viewer/components/viewer-settings.d.ts +56 -0
- package/dist/viewer/components/viewer-settings.d.ts.map +1 -0
- package/dist/viewer/composables/gif-encoder.d.ts +29 -0
- package/dist/viewer/composables/gif-encoder.d.ts.map +1 -0
- package/dist/viewer/composables/slide-compare.d.ts +66 -0
- package/dist/viewer/composables/slide-compare.d.ts.map +1 -0
- package/dist/viewer/composables/slide-transition-css.d.ts +53 -0
- package/dist/viewer/composables/slide-transition-css.d.ts.map +1 -0
- package/dist/viewer/composables/useCollaboration.d.ts +49 -8
- package/dist/viewer/composables/useCollaboration.d.ts.map +1 -1
- package/dist/viewer/composables/useLoadContent.d.ts +5 -1
- package/dist/viewer/composables/useLoadContent.d.ts.map +1 -1
- package/dist/viewer/composables/useMediaExport.d.ts +92 -0
- package/dist/viewer/composables/useMediaExport.d.ts.map +1 -0
- package/dist/viewer/composables/useVersionHistory.d.ts +73 -0
- package/dist/viewer/composables/useVersionHistory.d.ts.map +1 -0
- package/dist/viewer/index.cjs +1 -1
- package/dist/viewer/index.cjs.br +0 -0
- package/dist/viewer/index.cjs.gz +0 -0
- package/dist/viewer/index.js +1 -1
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/{viewer-miZPKBfD.cjs → viewer-B_MKA5ks.cjs} +9191 -8384
- package/dist/viewer-B_MKA5ks.cjs.br +0 -0
- package/dist/viewer-B_MKA5ks.cjs.gz +0 -0
- package/dist/{viewer-DsS1t0uW.js → viewer-BsFcXVHv.js} +2932 -2125
- package/dist/viewer-BsFcXVHv.js.br +0 -0
- package/dist/viewer-BsFcXVHv.js.gz +0 -0
- package/package.json +1 -1
- package/dist/viewer-DsS1t0uW.js.br +0 -0
- package/dist/viewer-DsS1t0uW.js.gz +0 -0
- package/dist/viewer-miZPKBfD.cjs.br +0 -0
- package/dist/viewer-miZPKBfD.cjs.gz +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
function t(t, n) {
|
|
2
|
+
t.push(255 & n), t.push(n >> 8 & 255);
|
|
3
|
+
}
|
|
4
|
+
function n(t, n) {
|
|
5
|
+
for (let e = 0; e < n.length; e++) t.push(n.charCodeAt(e));
|
|
6
|
+
}
|
|
7
|
+
function e(t) {
|
|
8
|
+
const n = t.data, e = t.width * t.height, h = Math.max(1, Math.floor(e / 1e4)), r = [];
|
|
9
|
+
for (let t = 0; t < e; t += h) {
|
|
10
|
+
const e = 4 * t;
|
|
11
|
+
r.push([
|
|
12
|
+
n[e],
|
|
13
|
+
n[e + 1],
|
|
14
|
+
n[e + 2]
|
|
15
|
+
]);
|
|
16
|
+
}
|
|
17
|
+
const u = o(r, 8), c = new Uint8Array(768), l = [];
|
|
18
|
+
for (let t = 0; t < 256; t++) if (t < u.length && u[t].length > 0) {
|
|
19
|
+
let n = 0, e = 0, o = 0;
|
|
20
|
+
for (const [s, h, r] of u[t]) n += s, e += h, o += r;
|
|
21
|
+
const s = u[t].length, h = Math.round(n / s), r = Math.round(e / s), f = Math.round(o / s);
|
|
22
|
+
c[3 * t] = h, c[3 * t + 1] = r, c[3 * t + 2] = f, l.push([
|
|
23
|
+
h,
|
|
24
|
+
r,
|
|
25
|
+
f
|
|
26
|
+
]);
|
|
27
|
+
} else l.push([
|
|
28
|
+
0,
|
|
29
|
+
0,
|
|
30
|
+
0
|
|
31
|
+
]);
|
|
32
|
+
const f = new Uint8Array(e);
|
|
33
|
+
for (let t = 0; t < e; t++) {
|
|
34
|
+
const e = 4 * t;
|
|
35
|
+
f[t] = s(l, n[e], n[e + 1], n[e + 2]);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
palette: c,
|
|
39
|
+
indexed: f
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function o(t, n) {
|
|
43
|
+
if (0 === n || t.length <= 1) return [t];
|
|
44
|
+
let e = 255, s = 0, h = 255, r = 0, u = 255, c = 0;
|
|
45
|
+
for (const [n, o, l] of t) n < e && (e = n), n > s && (s = n), o < h && (h = o), o > r && (r = o), l < u && (u = l), l > c && (c = l);
|
|
46
|
+
const l = s - e, f = r - h, i = c - u;
|
|
47
|
+
let p = 0;
|
|
48
|
+
f >= l && f >= i ? p = 1 : i >= l && i >= f && (p = 2), t.sort((t, n) => t[p] - n[p]);
|
|
49
|
+
const a = Math.floor(t.length / 2);
|
|
50
|
+
return [...o(t.slice(0, a), n - 1), ...o(t.slice(a), n - 1)];
|
|
51
|
+
}
|
|
52
|
+
function s(t, n, e, o) {
|
|
53
|
+
let s = 0, h = Infinity;
|
|
54
|
+
for (let r = 0; r < t.length; r++) {
|
|
55
|
+
const [u, c, l] = t[r], f = (n - u) ** 2 + (e - c) ** 2 + (o - l) ** 2;
|
|
56
|
+
f < h && (h = f, s = r);
|
|
57
|
+
}
|
|
58
|
+
return s;
|
|
59
|
+
}
|
|
60
|
+
function h(t, n) {
|
|
61
|
+
const e = 1 << n, o = e + 1, s = [];
|
|
62
|
+
let h = n + 1, r = o + 1;
|
|
63
|
+
const u = /* @__PURE__ */ new Map(), c = () => {
|
|
64
|
+
u.clear();
|
|
65
|
+
for (let t = 0; t < e; t++) u.set(String(t), t);
|
|
66
|
+
h = n + 1, r = o + 1;
|
|
67
|
+
};
|
|
68
|
+
let l = 0, f = 0;
|
|
69
|
+
const i = (t, n) => {
|
|
70
|
+
for (l |= t << f, f += n; f >= 8;) s.push(255 & l), l >>= 8, f -= 8;
|
|
71
|
+
};
|
|
72
|
+
c(), i(e, h);
|
|
73
|
+
let p = String(t[0]);
|
|
74
|
+
for (let n = 1; n < t.length; n++) {
|
|
75
|
+
const o = `${p},${String(t[n])}`;
|
|
76
|
+
if (u.has(o)) p = o;
|
|
77
|
+
else {
|
|
78
|
+
const s = u.get(p);
|
|
79
|
+
void 0 !== s && i(s, h), r < 4096 ? (u.set(o, r++), r > 1 << h && h < 12 && h++) : (i(e, h), c()), p = String(t[n]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const a = u.get(p);
|
|
83
|
+
return void 0 !== a && i(a, h), i(o, h), f > 0 && s.push(255 & l), new Uint8Array(s);
|
|
84
|
+
}
|
|
85
|
+
exports.encodeGif = function(o, s) {
|
|
86
|
+
if (0 === o.length) throw new Error("[gif-encoder] encodeGif: frames array must not be empty");
|
|
87
|
+
const r = o[0].width, u = o[0].height, c = [];
|
|
88
|
+
n(c, "GIF89a"), t(c, r), t(c, u), c.push(112), c.push(0), c.push(0), c.push(33, 255, 11), n(c, "NETSCAPE2.0"), c.push(3, 1), t(c, 0), c.push(0);
|
|
89
|
+
for (const n of o) {
|
|
90
|
+
const { palette: o, indexed: l } = e(n.imageData);
|
|
91
|
+
c.push(33, 249, 4), c.push(0), t(c, s), c.push(0), c.push(0), c.push(44), t(c, 0), t(c, 0), t(c, r), t(c, u), c.push(135);
|
|
92
|
+
for (let t = 0; t < 256; t++) c.push(o[3 * t] ?? 0), c.push(o[3 * t + 1] ?? 0), c.push(o[3 * t + 2] ?? 0);
|
|
93
|
+
const f = 8;
|
|
94
|
+
c.push(f);
|
|
95
|
+
const i = h(l, f);
|
|
96
|
+
let p = 0;
|
|
97
|
+
for (; p < i.length;) {
|
|
98
|
+
const t = Math.min(255, i.length - p);
|
|
99
|
+
c.push(t);
|
|
100
|
+
for (let n = 0; n < t; n++) c.push(i[p + n]);
|
|
101
|
+
p += t;
|
|
102
|
+
}
|
|
103
|
+
c.push(0);
|
|
104
|
+
}
|
|
105
|
+
return c.push(59), new Uint8Array(c);
|
|
106
|
+
};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
function t(t, s) {
|
|
2
|
+
if (0 === t.length) throw new Error("[gif-encoder] encodeGif: frames array must not be empty");
|
|
3
|
+
const h = t[0].width, u = t[0].height, l = [];
|
|
4
|
+
e(l, "GIF89a"), n(l, h), n(l, u), l.push(112), l.push(0), l.push(0), l.push(33, 255, 11), e(l, "NETSCAPE2.0"), l.push(3, 1), n(l, 0), l.push(0);
|
|
5
|
+
for (const e of t) {
|
|
6
|
+
const { palette: t, indexed: c } = o(e.imageData);
|
|
7
|
+
l.push(33, 249, 4), l.push(0), n(l, s), l.push(0), l.push(0), l.push(44), n(l, 0), n(l, 0), n(l, h), n(l, u), l.push(135);
|
|
8
|
+
for (let n = 0; n < 256; n++) l.push(t[3 * n] ?? 0), l.push(t[3 * n + 1] ?? 0), l.push(t[3 * n + 2] ?? 0);
|
|
9
|
+
const f = 8;
|
|
10
|
+
l.push(f);
|
|
11
|
+
const i = r(c, f);
|
|
12
|
+
let p = 0;
|
|
13
|
+
for (; p < i.length;) {
|
|
14
|
+
const t = Math.min(255, i.length - p);
|
|
15
|
+
l.push(t);
|
|
16
|
+
for (let n = 0; n < t; n++) l.push(i[p + n]);
|
|
17
|
+
p += t;
|
|
18
|
+
}
|
|
19
|
+
l.push(0);
|
|
20
|
+
}
|
|
21
|
+
return l.push(59), new Uint8Array(l);
|
|
22
|
+
}
|
|
23
|
+
function n(t, n) {
|
|
24
|
+
t.push(255 & n), t.push(n >> 8 & 255);
|
|
25
|
+
}
|
|
26
|
+
function e(t, n) {
|
|
27
|
+
for (let e = 0; e < n.length; e++) t.push(n.charCodeAt(e));
|
|
28
|
+
}
|
|
29
|
+
function o(t) {
|
|
30
|
+
const n = t.data, e = t.width * t.height, o = Math.max(1, Math.floor(e / 1e4)), r = [];
|
|
31
|
+
for (let t = 0; t < e; t += o) {
|
|
32
|
+
const e = 4 * t;
|
|
33
|
+
r.push([
|
|
34
|
+
n[e],
|
|
35
|
+
n[e + 1],
|
|
36
|
+
n[e + 2]
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
const u = s(r, 8), l = new Uint8Array(768), c = [];
|
|
40
|
+
for (let t = 0; t < 256; t++) if (t < u.length && u[t].length > 0) {
|
|
41
|
+
let n = 0, e = 0, o = 0;
|
|
42
|
+
for (const [s, h, r] of u[t]) n += s, e += h, o += r;
|
|
43
|
+
const s = u[t].length, h = Math.round(n / s), r = Math.round(e / s), f = Math.round(o / s);
|
|
44
|
+
l[3 * t] = h, l[3 * t + 1] = r, l[3 * t + 2] = f, c.push([
|
|
45
|
+
h,
|
|
46
|
+
r,
|
|
47
|
+
f
|
|
48
|
+
]);
|
|
49
|
+
} else c.push([
|
|
50
|
+
0,
|
|
51
|
+
0,
|
|
52
|
+
0
|
|
53
|
+
]);
|
|
54
|
+
const f = new Uint8Array(e);
|
|
55
|
+
for (let t = 0; t < e; t++) {
|
|
56
|
+
const e = 4 * t;
|
|
57
|
+
f[t] = h(c, n[e], n[e + 1], n[e + 2]);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
palette: l,
|
|
61
|
+
indexed: f
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function s(t, n) {
|
|
65
|
+
if (0 === n || t.length <= 1) return [t];
|
|
66
|
+
let e = 255, o = 0, h = 255, r = 0, u = 255, l = 0;
|
|
67
|
+
for (const [n, s, c] of t) n < e && (e = n), n > o && (o = n), s < h && (h = s), s > r && (r = s), c < u && (u = c), c > l && (l = c);
|
|
68
|
+
const c = o - e, f = r - h, i = l - u;
|
|
69
|
+
let p = 0;
|
|
70
|
+
f >= c && f >= i ? p = 1 : i >= c && i >= f && (p = 2), t.sort((t, n) => t[p] - n[p]);
|
|
71
|
+
const a = Math.floor(t.length / 2);
|
|
72
|
+
return [...s(t.slice(0, a), n - 1), ...s(t.slice(a), n - 1)];
|
|
73
|
+
}
|
|
74
|
+
function h(t, n, e, o) {
|
|
75
|
+
let s = 0, h = Infinity;
|
|
76
|
+
for (let r = 0; r < t.length; r++) {
|
|
77
|
+
const [u, l, c] = t[r], f = (n - u) ** 2 + (e - l) ** 2 + (o - c) ** 2;
|
|
78
|
+
f < h && (h = f, s = r);
|
|
79
|
+
}
|
|
80
|
+
return s;
|
|
81
|
+
}
|
|
82
|
+
function r(t, n) {
|
|
83
|
+
const e = 1 << n, o = e + 1, s = [];
|
|
84
|
+
let h = n + 1, r = o + 1;
|
|
85
|
+
const u = /* @__PURE__ */ new Map(), l = () => {
|
|
86
|
+
u.clear();
|
|
87
|
+
for (let t = 0; t < e; t++) u.set(String(t), t);
|
|
88
|
+
h = n + 1, r = o + 1;
|
|
89
|
+
};
|
|
90
|
+
let c = 0, f = 0;
|
|
91
|
+
const i = (t, n) => {
|
|
92
|
+
for (c |= t << f, f += n; f >= 8;) s.push(255 & c), c >>= 8, f -= 8;
|
|
93
|
+
};
|
|
94
|
+
l(), i(e, h);
|
|
95
|
+
let p = String(t[0]);
|
|
96
|
+
for (let n = 1; n < t.length; n++) {
|
|
97
|
+
const o = `${p},${String(t[n])}`;
|
|
98
|
+
if (u.has(o)) p = o;
|
|
99
|
+
else {
|
|
100
|
+
const s = u.get(p);
|
|
101
|
+
void 0 !== s && i(s, h), r < 4096 ? (u.set(o, r++), r > 1 << h && h < 12 && h++) : (i(e, h), l()), p = String(t[n]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const a = u.get(p);
|
|
105
|
+
return void 0 !== a && i(a, h), i(o, h), f > 0 && s.push(255 & c), new Uint8Array(s);
|
|
106
|
+
}
|
|
107
|
+
export { t as encodeGif };
|
|
Binary file
|
|
Binary file
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const e = require("./viewer-
|
|
2
|
+
const e = require("./viewer-B_MKA5ks.cjs");
|
|
3
3
|
let r = require("clsx"), t = require("tailwind-merge");
|
|
4
4
|
exports.ElementRenderer = e.ElementRenderer_default, exports.PowerPointViewer = e.PowerPointViewer_default, exports.SlideCanvas = e.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.cn = function(...e) {
|
|
5
5
|
return (0, t.twMerge)((0, r.clsx)(e));
|
package/dist/index.cjs.br
CHANGED
|
Binary file
|
package/dist/index.cjs.gz
CHANGED
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as a, F as s, N as e, P as r, R as i, S as o, a as t, o as m, s as n, t as l, w } from "./viewer-
|
|
1
|
+
import { C as a, F as s, N as e, P as r, R as i, S as o, a as t, o as m, s as n, t as l, w } from "./viewer-BsFcXVHv.js";
|
|
2
2
|
import { clsx as d } from "clsx";
|
|
3
3
|
import { twMerge as f } from "tailwind-merge";
|
|
4
4
|
function p(...a) {
|
package/dist/index.js.br
CHANGED
|
Binary file
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PowerPointViewer.vue.d.ts","sourceRoot":"","sources":["../../src/viewer/PowerPointViewer.vue"],"names":[],"mappings":"AAwtDA,OAAO,KAAK,EACX,mBAAmB,EAEnB,sBAAsB,EACtB,qBAAqB,EACrB,MAAM,SAAS,CAAC;AAmtFjB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;6EAKhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CompareResult } from '../composables/slide-compare';
|
|
2
|
+
import { CanvasSize } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* ComparePanel — side panel showing slide-level diffs between two versions.
|
|
5
|
+
*
|
|
6
|
+
* Vue port of the React `ComparePanel.tsx`. Lists each non-trivial
|
|
7
|
+
* {@link SlideDiff} as a {@link SlideDiffRow}; the user can accept/reject
|
|
8
|
+
* individual diffs or accept all at once. Accepted/rejected state is tracked
|
|
9
|
+
* locally and propagated to the host via emits, which carry the diff index.
|
|
10
|
+
*/
|
|
11
|
+
type __VLS_Props = {
|
|
12
|
+
/** Whether the panel is visible. */
|
|
13
|
+
open: boolean;
|
|
14
|
+
/** The comparison result, or `null` when nothing to compare. */
|
|
15
|
+
compareResult: CompareResult | null;
|
|
16
|
+
/** Canvas dimensions used to render diff thumbnails. */
|
|
17
|
+
canvasSize: CanvasSize;
|
|
18
|
+
/** Resolved media data URLs for thumbnail rendering. */
|
|
19
|
+
mediaDataUrls: Map<string, string>;
|
|
20
|
+
};
|
|
21
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
22
|
+
close: () => any;
|
|
23
|
+
"accept-slide": (diffIndex: number) => any;
|
|
24
|
+
"reject-slide": (diffIndex: number) => any;
|
|
25
|
+
"accept-all": () => any;
|
|
26
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
27
|
+
onClose?: (() => any) | undefined;
|
|
28
|
+
"onAccept-slide"?: ((diffIndex: number) => any) | undefined;
|
|
29
|
+
"onReject-slide"?: ((diffIndex: number) => any) | undefined;
|
|
30
|
+
"onAccept-all"?: (() => any) | undefined;
|
|
31
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const _default: typeof __VLS_export;
|
|
33
|
+
export default _default;
|
|
34
|
+
//# sourceMappingURL=ComparePanel.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComparePanel.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/ComparePanel.vue"],"names":[],"mappings":"AAmNA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;GAOG;AACH,KAAK,WAAW,GAAG;IAClB,oCAAoC;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,gEAAgE;IAChE,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,wDAAwD;IACxD,UAAU,EAAE,UAAU,CAAC;IACvB,wDAAwD;IACxD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AA0LF,QAAA,MAAM,YAAY;;;;;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PptxElement, TextSegment } from 'pptx-viewer-core';
|
|
2
|
+
/**
|
|
3
|
+
* EquationEditorDialog — LaTeX input with a live MathML preview for inserting or
|
|
4
|
+
* editing an OMML equation.
|
|
5
|
+
*
|
|
6
|
+
* Vue port of the React `EquationEditorDialog.tsx`. The user types LaTeX (or
|
|
7
|
+
* picks a template); it is converted LaTeX → OMML (`convertLatexToOmml`) → MathML
|
|
8
|
+
* (`convertOmmlToMathMl`, reused from `pptx-viewer-shared`, the same path
|
|
9
|
+
* `EquationRenderer` uses) for the live preview. On confirm it emits both:
|
|
10
|
+
*
|
|
11
|
+
* - `insert(element)` — a ready-to-add core {@link PptxElement} (a shape
|
|
12
|
+
* carrying the equation as a `textSegments[].equationXml` OMML tree, so
|
|
13
|
+
* `SmartArtRenderer`/`EquationRenderer` render it directly). Route to
|
|
14
|
+
* `ops.addElement`.
|
|
15
|
+
* - `apply(segment)` — the equation {@link TextSegment} alone, for updating an
|
|
16
|
+
* existing equation in place. Route to `ops.updateText` / a segment patch.
|
|
17
|
+
*
|
|
18
|
+
* When `existingOmml` is supplied the dialog opens in edit mode, seeding the
|
|
19
|
+
* textarea from the reverse `convertOmmlToLatex`.
|
|
20
|
+
*/
|
|
21
|
+
type __VLS_Props = {
|
|
22
|
+
/** Whether the dialog is open. */
|
|
23
|
+
open: boolean;
|
|
24
|
+
/** When editing an existing equation, its OMML; otherwise null/undefined. */
|
|
25
|
+
existingOmml?: Record<string, unknown> | null;
|
|
26
|
+
};
|
|
27
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
28
|
+
insert: (element: PptxElement) => any;
|
|
29
|
+
close: () => any;
|
|
30
|
+
apply: (segment: TextSegment) => any;
|
|
31
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
32
|
+
onInsert?: ((element: PptxElement) => any) | undefined;
|
|
33
|
+
onClose?: (() => any) | undefined;
|
|
34
|
+
onApply?: ((segment: TextSegment) => any) | undefined;
|
|
35
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
36
|
+
declare const _default: typeof __VLS_export;
|
|
37
|
+
export default _default;
|
|
38
|
+
//# sourceMappingURL=EquationEditorDialog.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EquationEditorDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/EquationEditorDialog.vue"],"names":[],"mappings":"AAoaA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAa,MAAM,kBAAkB,CAAC;AAO5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,WAAW,GAAG;IAClB,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9C,CAAC;AAgWF,QAAA,MAAM,YAAY;;;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ExportMenu — a small dropdown offering PNG (current slide)
|
|
3
|
-
* Emits intent; the host runs the actual export via
|
|
2
|
+
* ExportMenu — a small dropdown offering PNG (current slide), PDF, animated GIF
|
|
3
|
+
* and WebM video exports. Emits intent; the host runs the actual export via
|
|
4
|
+
* `useExport` / `useMediaExport`.
|
|
4
5
|
*/
|
|
5
6
|
type __VLS_Props = {
|
|
6
7
|
exporting: boolean;
|
|
@@ -8,9 +9,13 @@ type __VLS_Props = {
|
|
|
8
9
|
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
10
|
"export-png": () => any;
|
|
10
11
|
"export-pdf": () => any;
|
|
12
|
+
"export-gif": () => any;
|
|
13
|
+
"export-webm": () => any;
|
|
11
14
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
15
|
"onExport-png"?: (() => any) | undefined;
|
|
13
16
|
"onExport-pdf"?: (() => any) | undefined;
|
|
17
|
+
"onExport-gif"?: (() => any) | undefined;
|
|
18
|
+
"onExport-webm"?: (() => any) | undefined;
|
|
14
19
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
15
20
|
declare const _default: typeof __VLS_export;
|
|
16
21
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/ExportMenu.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExportMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/ExportMenu.vue"],"names":[],"mappings":"AAwGA;;;;GAIG;AACH,KAAK,WAAW,GAAG;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAkI1C,QAAA,MAAM,YAAY;;;;;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RemotePresence } from '../composables/useCollaboration';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** Active remote collaborators (excludes self). */
|
|
4
|
+
presences: RemotePresence[];
|
|
5
|
+
/** The clientId currently being followed, or null. */
|
|
6
|
+
followedClientId: number | null;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
9
|
+
follow: (clientId: number | null) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
onFollow?: ((clientId: number | null) => any) | undefined;
|
|
12
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
15
|
+
//# sourceMappingURL=FollowModeBar.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FollowModeBar.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/FollowModeBar.vue"],"names":[],"mappings":"AA0MA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,KAAK,WAAW,GAAG;IAClB,mDAAmD;IACnD,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,sDAAsD;IACtD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AA4IF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PptxElement } from 'pptx-viewer-core';
|
|
2
|
+
/**
|
|
3
|
+
* InsertSmartArtDialog — gallery + node-text entry for inserting a SmartArt
|
|
4
|
+
* graphic.
|
|
5
|
+
*
|
|
6
|
+
* Vue port of the React `InsertSmartArtDialog.tsx`. Built on
|
|
7
|
+
* {@link ModalDialog}, it shows a category sidebar + a thumbnail gallery
|
|
8
|
+
* (`SmartArtPreviews.vue`). Picking a preset seeds an editable textarea with one
|
|
9
|
+
* node per line (the preset's `defaultItems`); the user can add/remove/edit
|
|
10
|
+
* lines before inserting.
|
|
11
|
+
*
|
|
12
|
+
* On insert it builds a fully-formed core {@link SmartArtPptxElement} (so
|
|
13
|
+
* `SmartArtRenderer.vue` can render it directly, with no further core call —
|
|
14
|
+
* there is no `createSmartArtElement` factory in core, so the literal is built
|
|
15
|
+
* here exactly as the React `handleInsertSmartArt` handler does) and emits it
|
|
16
|
+
* via the `insert` event. The host routes the payload to `ops.addElement`.
|
|
17
|
+
*/
|
|
18
|
+
type __VLS_Props = {
|
|
19
|
+
/** Whether the dialog is open. */
|
|
20
|
+
open: boolean;
|
|
21
|
+
};
|
|
22
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
23
|
+
insert: (element: PptxElement) => any;
|
|
24
|
+
close: () => any;
|
|
25
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
|
+
onInsert?: ((element: PptxElement) => any) | undefined;
|
|
27
|
+
onClose?: (() => any) | undefined;
|
|
28
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
//# sourceMappingURL=InsertSmartArtDialog.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsertSmartArtDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/InsertSmartArtDialog.vue"],"names":[],"mappings":"AAgXA,OAAO,KAAK,EACX,WAAW,EAIX,MAAM,kBAAkB,CAAC;AAQ1B;;;;;;;;;;;;;;;GAeG;AACH,KAAK,WAAW,GAAG;IAClB,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;CACd,CAAC;AA4SF,QAAA,MAAM,YAAY;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationMode.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/PresentationMode.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PresentationMode.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/PresentationMode.vue"],"names":[],"mappings":"AAykBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAyqBH,QAAA,MAAM,YAAY;;;;;;;gBA1qBH,MAAM;6EA8qBnB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { PptxSlide, PptxSlideTransition } from 'pptx-viewer-core';
|
|
2
|
+
import { CanvasSize } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* PresentationTransitionOverlay — animates a slide change in presentation mode.
|
|
5
|
+
*
|
|
6
|
+
* It stacks two {@link SlideStage} layers, both scaled-to-fit identically to the
|
|
7
|
+
* underlying presentation frame:
|
|
8
|
+
* - the **outgoing** (old) slide as a snapshot layer, and
|
|
9
|
+
* - the **incoming** (new) slide.
|
|
10
|
+
*
|
|
11
|
+
* The active slide's {@link PptxSlideTransition} is mapped to CSS `animation`
|
|
12
|
+
* shorthands (via {@link resolveSlideTransition}); each layer's `z-index` is set
|
|
13
|
+
* from `outgoingOnTop`. When the configured duration elapses the overlay emits
|
|
14
|
+
* `done`, at which point the host should drop the overlay and leave the static
|
|
15
|
+
* incoming slide rendered by its main stage.
|
|
16
|
+
*
|
|
17
|
+
* `PresentationMode` is expected to mount this **only while a transition is
|
|
18
|
+
* playing** (between the outgoing and incoming slides), render nothing of its
|
|
19
|
+
* own animated stage during that window, and remove it on `@done`.
|
|
20
|
+
*/
|
|
21
|
+
type __VLS_Props = {
|
|
22
|
+
/** The outgoing (previous) slide rendered in the exit layer. */
|
|
23
|
+
outgoingSlide: PptxSlide | undefined;
|
|
24
|
+
/** The incoming (new) slide rendered in the entrance layer. */
|
|
25
|
+
incomingSlide: PptxSlide | undefined;
|
|
26
|
+
/** Slide surface dimensions (px). */
|
|
27
|
+
canvasSize: CanvasSize;
|
|
28
|
+
/** Resolved media data URLs, threaded to each {@link SlideStage}. */
|
|
29
|
+
mediaDataUrls: Map<string, string>;
|
|
30
|
+
/** Fit-to-viewport scale (same value the host applies to its main stage). */
|
|
31
|
+
scale?: number;
|
|
32
|
+
/** The transition definition from the incoming slide. */
|
|
33
|
+
transition: PptxSlideTransition | undefined;
|
|
34
|
+
};
|
|
35
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
36
|
+
done: () => any;
|
|
37
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
38
|
+
onDone?: (() => any) | undefined;
|
|
39
|
+
}>, {
|
|
40
|
+
scale: number;
|
|
41
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
42
|
+
declare const _default: typeof __VLS_export;
|
|
43
|
+
export default _default;
|
|
44
|
+
//# sourceMappingURL=PresentationTransitionOverlay.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresentationTransitionOverlay.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/PresentationTransitionOverlay.vue"],"names":[],"mappings":"AAmJA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,WAAW,GAAG;IACjB,gEAAgE;IAChE,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,+DAA+D;IAC/D,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,qCAAqC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,qEAAqE;IACrE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,UAAU,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,CAAC;AA4IH,QAAA,MAAM,YAAY;;;;;WA/IR,MAAM;6EAmJd,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { PptxElement } from 'pptx-viewer-core';
|
|
2
|
+
import { RemotePresence } from '../composables/useCollaboration';
|
|
3
|
+
/** A single resolved remote selection box, in unscaled slide coordinates. */
|
|
4
|
+
export interface RemoteSelectionBox {
|
|
5
|
+
/** Stable key (peer clientId + element id). */
|
|
6
|
+
key: string;
|
|
7
|
+
/** Peer display name shown in the label chip. */
|
|
8
|
+
userName: string;
|
|
9
|
+
/** Outline + chip colour. */
|
|
10
|
+
color: string;
|
|
11
|
+
/** Unscaled slide-space geometry of the selected element. */
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
19
|
+
declare const __VLS_export: import('vue').DefineComponent<{
|
|
20
|
+
/** Remote collaborators' presence (cursor + selection + active slide). */
|
|
21
|
+
presences: RemotePresence[];
|
|
22
|
+
/** Elements on the active slide (used to resolve selected ids → geometry). */
|
|
23
|
+
elements: PptxElement[];
|
|
24
|
+
/** The current slide index — only peers on this slide are drawn. */
|
|
25
|
+
activeSlideIndex: number;
|
|
26
|
+
/** Current canvas zoom factor; geometry scales by this. */
|
|
27
|
+
zoom: number;
|
|
28
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
29
|
+
/** Remote collaborators' presence (cursor + selection + active slide). */
|
|
30
|
+
presences: RemotePresence[];
|
|
31
|
+
/** Elements on the active slide (used to resolve selected ids → geometry). */
|
|
32
|
+
elements: PptxElement[];
|
|
33
|
+
/** The current slide index — only peers on this slide are drawn. */
|
|
34
|
+
activeSlideIndex: number;
|
|
35
|
+
/** Current canvas zoom factor; geometry scales by this. */
|
|
36
|
+
zoom: number;
|
|
37
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
//# sourceMappingURL=RemoteSelectionOverlay.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteSelectionOverlay.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/RemoteSelectionOverlay.vue"],"names":[],"mappings":"AAyKA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IAClC,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;wBACoB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAEjB,0EAA0E;eAC/D,cAAc,EAAE;IAC3B,8EAA8E;cACpE,WAAW,EAAE;IACvB,oEAAoE;sBAClD,MAAM;IACxB,2DAA2D;UACrD,MAAM;;IAPZ,0EAA0E;eAC/D,cAAc,EAAE;IAC3B,8EAA8E;cACpE,WAAW,EAAE;IACvB,oEAAoE;sBAClD,MAAM;IACxB,2DAA2D;UACrD,MAAM;iGA8GT,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ViewerSettings } from './viewer-settings';
|
|
2
|
+
/**
|
|
3
|
+
* SettingsDialog — viewer/editor preferences on a tabbed `ModalDialog`.
|
|
4
|
+
*
|
|
5
|
+
* Vue counterpart of the React package's `SettingsDialog.tsx`. It exposes the
|
|
6
|
+
* same boolean preferences (autosave, spell-check, show-grid, show-rulers,
|
|
7
|
+
* snap-to-grid, reduced-motion) on a "General" tab, plus a read-only keyboard
|
|
8
|
+
* "Shortcuts" reference tab.
|
|
9
|
+
*
|
|
10
|
+
* Where the React dialog threaded each setting through its own prop/callback
|
|
11
|
+
* (and kept `autoSave` as dialog-local state), the Vue port takes the whole
|
|
12
|
+
* `ViewerSettings` object as one `settings` prop and emits a single
|
|
13
|
+
* `update(settings)` with the full next value whenever a toggle flips. The host
|
|
14
|
+
* owns persistence; this component is purely presentational.
|
|
15
|
+
*
|
|
16
|
+
* The form is seeded from `settings` each time the dialog opens, so a host can
|
|
17
|
+
* pass a live reactive object or re-feed it on every open — both work.
|
|
18
|
+
*/
|
|
19
|
+
type __VLS_Props = {
|
|
20
|
+
/** Whether the dialog is visible. */
|
|
21
|
+
open: boolean;
|
|
22
|
+
/** Current viewer settings. */
|
|
23
|
+
settings: ViewerSettings;
|
|
24
|
+
};
|
|
25
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
26
|
+
close: () => any;
|
|
27
|
+
update: (settings: ViewerSettings) => any;
|
|
28
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
29
|
+
onClose?: (() => any) | undefined;
|
|
30
|
+
onUpdate?: ((settings: ViewerSettings) => any) | undefined;
|
|
31
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const _default: typeof __VLS_export;
|
|
33
|
+
export default _default;
|
|
34
|
+
//# sourceMappingURL=SettingsDialog.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SettingsDialog.vue"],"names":[],"mappings":"AAqQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,WAAW,GAAG;IAClB,qCAAqC;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,+BAA+B;IAC/B,QAAQ,EAAE,cAAc,CAAC;CACzB,CAAC;AAiOF,QAAA,MAAM,YAAY;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SlideDiff } from '../composables/slide-compare';
|
|
2
|
+
import { CanvasSize } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* SlideDiffRow — a single expandable slide-diff entry.
|
|
5
|
+
*
|
|
6
|
+
* Vue port of the React `SlideDiffRow.tsx`. Shows the slide's status badge,
|
|
7
|
+
* change count, and (when expanded) side-by-side base/incoming thumbnails plus
|
|
8
|
+
* the per-element change list and accept/reject actions. Unchanged diffs render
|
|
9
|
+
* nothing (the parent filters them, but we guard here too).
|
|
10
|
+
*/
|
|
11
|
+
type __VLS_Props = {
|
|
12
|
+
diff: SlideDiff;
|
|
13
|
+
diffIndex: number;
|
|
14
|
+
canvasSize: CanvasSize;
|
|
15
|
+
mediaDataUrls: Map<string, string>;
|
|
16
|
+
accepted: boolean;
|
|
17
|
+
rejected: boolean;
|
|
18
|
+
};
|
|
19
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
20
|
+
accept: (index: number) => any;
|
|
21
|
+
reject: (index: number) => any;
|
|
22
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
23
|
+
onAccept?: ((index: number) => any) | undefined;
|
|
24
|
+
onReject?: ((index: number) => any) | undefined;
|
|
25
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
26
|
+
declare const _default: typeof __VLS_export;
|
|
27
|
+
export default _default;
|
|
28
|
+
//# sourceMappingURL=SlideDiffRow.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideDiffRow.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SlideDiffRow.vue"],"names":[],"mappings":"AAsWA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;GAOG;AACH,KAAK,WAAW,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAsTF,QAAA,MAAM,YAAY;;;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SmartArtLayout } from 'pptx-viewer-core';
|
|
2
|
+
/**
|
|
3
|
+
* SmartArtPreviews — a tiny SVG thumbnail for a SmartArt {@link SmartArtLayout}.
|
|
4
|
+
*
|
|
5
|
+
* Vue port of the React `SmartArtPreviews.tsx` `getPreviewForLayout` resolver.
|
|
6
|
+
* Each layout maps to one of a handful of schematic glyphs (block list, chevron
|
|
7
|
+
* process, cycle, radial, hierarchy, venn, or a generic fallback). Used by
|
|
8
|
+
* `InsertSmartArtDialog.vue` to populate the gallery tiles.
|
|
9
|
+
*/
|
|
10
|
+
type __VLS_Props = {
|
|
11
|
+
/** The layout to draw a thumbnail for. */
|
|
12
|
+
layout: SmartArtLayout;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
//# sourceMappingURL=SmartArtPreviews.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartArtPreviews.vue.d.ts","sourceRoot":"","sources":["../../../src/viewer/components/SmartArtPreviews.vue"],"names":[],"mappings":"AAoOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD;;;;;;;GAOG;AACH,KAAK,WAAW,GAAG;IAClB,0CAA0C;IAC1C,MAAM,EAAE,cAAc,CAAC;CACvB,CAAC;AAuSF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|