visio-angular-viewer 1.0.1 → 1.1.1
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/README.md
CHANGED
|
@@ -53,7 +53,7 @@ export class DiagramComponent {
|
|
|
53
53
|
The shared properties are `document` (a parsed `VisioDocument`, or `null` to clear),
|
|
54
54
|
`pageIndex` (zero-based), `zoom` (`1` means 100%), `showToolbar`, `ribbonAddIns` (tabs the host adds
|
|
55
55
|
after Help), `canEdit` (editing permission; the viewer is editable unless you pass `false`),
|
|
56
|
-
`collaboration` (shares the open drawing in a room while set; `null` leaves it) and `events`.
|
|
56
|
+
`readOnly` (a restriction of its own), `storage` and `customization` (host-owned save and open), `collaboration` (shares the open drawing in a room while set; `null` leaves it) and `events`.
|
|
57
57
|
The callback map uses `document-load`, `document-change` (`{ document, dirty, kind }` with kind
|
|
58
58
|
`edit`, `undo`, `redo`, `remote` or `save`), `document-error`, `page-change`, `zoom-change`,
|
|
59
59
|
`shape-select`, `selection-change`, `office-ribbon-add-in` and `collaboration-change`. File loading uses the imperative
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,52 @@
|
|
|
1
1
|
import * as ui from "ooxml-ui/visio";
|
|
2
2
|
import { ViewerController, createWorkerParser, eventKeys, mountViewer, propertyKeys } from "ooxml-ui/visio";
|
|
3
3
|
import { Component, DestroyRef, ElementRef, EventEmitter, Injectable, Input, Output, computed, effect, inject, signal, untracked } from "@angular/core";
|
|
4
|
+
import { deferredHandle, installHandle, pickProps } from "ooxml-ui/bindings";
|
|
4
5
|
import * as officeTheme from "ooxml-ui/theme";
|
|
5
6
|
export * from "ooxml-ui/visio";
|
|
6
7
|
export * from "visio-core";
|
|
7
8
|
//#region packages/bindings/src/common.ts
|
|
9
|
+
/**
|
|
10
|
+
* The Visio binding contract. `mountViewer` (ooxml-ui/visio) forwards properties and events itself,
|
|
11
|
+
* so every property is `manual` here: `mountFrameworkViewer` sends them as revision-aware patches.
|
|
12
|
+
* Events reach native outputs through the `events` callback map (`withEventEmitter`).
|
|
13
|
+
*/
|
|
14
|
+
var VIEWER_CONTRACT = {
|
|
15
|
+
props: Object.fromEntries(propertyKeys.map((key) => [key, { forward: "manual" }])),
|
|
16
|
+
events: {},
|
|
17
|
+
handle: {
|
|
18
|
+
element: "get",
|
|
19
|
+
controller: "get",
|
|
20
|
+
load: "async",
|
|
21
|
+
createBlankDrawing: "async",
|
|
22
|
+
applyEdits: "async",
|
|
23
|
+
selectShapes: "call",
|
|
24
|
+
selectAll: "call",
|
|
25
|
+
clearSelection: "call",
|
|
26
|
+
duplicateSelection: "async",
|
|
27
|
+
copySelection: "async",
|
|
28
|
+
cutSelection: "async",
|
|
29
|
+
pasteSelection: "async",
|
|
30
|
+
replacePlainText: "async",
|
|
31
|
+
undo: "async",
|
|
32
|
+
redo: "async",
|
|
33
|
+
cancelEdit: "call",
|
|
34
|
+
exportVsdx: "call",
|
|
35
|
+
fit: "call",
|
|
36
|
+
setLayerVisibility: "call",
|
|
37
|
+
resetLayerVisibility: "call",
|
|
38
|
+
exportSvg: "call",
|
|
39
|
+
createPrintSnapshot: "call"
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
/** The error every lazy handle member throws before mount and after unmount. */
|
|
43
|
+
var VIEWER_HANDLE_OPTIONS = { message: "The viewer is not mounted." };
|
|
8
44
|
/** One mapping for every property and event, shared by every framework adapter. */
|
|
9
45
|
function viewerOptions(props) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
return result;
|
|
46
|
+
return {
|
|
47
|
+
events: props.events ?? {},
|
|
48
|
+
...pickProps(VIEWER_CONTRACT, props, true)
|
|
49
|
+
};
|
|
16
50
|
}
|
|
17
51
|
/**
|
|
18
52
|
* Native props are snapshots, while the browser binding accepts explicit patches. Forward only
|
|
@@ -35,6 +69,7 @@ function mountFrameworkViewer(container, initial) {
|
|
|
35
69
|
const touchedByOlderCall = [...activePatches].some((active) => key in active);
|
|
36
70
|
if (snapshot[key] !== void 0 && (snapshot[key] !== previous[key] || touchedByOlderCall)) Object.assign(patch, { [key]: snapshot[key] });
|
|
37
71
|
}
|
|
72
|
+
if (snapshot.readOnly === void 0 && previous.readOnly !== void 0) Object.assign(patch, { readOnly: false });
|
|
38
73
|
activePatches.add(patch);
|
|
39
74
|
try {
|
|
40
75
|
binding.update(patch);
|
|
@@ -53,79 +88,7 @@ function mountFrameworkViewer(container, initial) {
|
|
|
53
88
|
}
|
|
54
89
|
/** Lazy imperative methods reject both before mount and after unmount. */
|
|
55
90
|
function viewerHandle(current) {
|
|
56
|
-
|
|
57
|
-
const binding = current();
|
|
58
|
-
if (!binding) throw new Error("The viewer is not mounted.");
|
|
59
|
-
return binding;
|
|
60
|
-
};
|
|
61
|
-
return {
|
|
62
|
-
get element() {
|
|
63
|
-
return requireViewer().element;
|
|
64
|
-
},
|
|
65
|
-
get controller() {
|
|
66
|
-
return requireViewer().controller;
|
|
67
|
-
},
|
|
68
|
-
async load(source) {
|
|
69
|
-
await requireViewer().load(source);
|
|
70
|
-
},
|
|
71
|
-
async createBlankDrawing(options) {
|
|
72
|
-
await requireViewer().createBlankDrawing(options);
|
|
73
|
-
},
|
|
74
|
-
async applyEdits(edits) {
|
|
75
|
-
await requireViewer().applyEdits(edits);
|
|
76
|
-
},
|
|
77
|
-
selectShapes(shapes) {
|
|
78
|
-
requireViewer().selectShapes(shapes);
|
|
79
|
-
},
|
|
80
|
-
selectAll() {
|
|
81
|
-
requireViewer().selectAll();
|
|
82
|
-
},
|
|
83
|
-
clearSelection() {
|
|
84
|
-
requireViewer().clearSelection();
|
|
85
|
-
},
|
|
86
|
-
async replacePlainText(pageId, shapeId, text) {
|
|
87
|
-
await requireViewer().replacePlainText(pageId, shapeId, text);
|
|
88
|
-
},
|
|
89
|
-
async duplicateSelection() {
|
|
90
|
-
await requireViewer().duplicateSelection();
|
|
91
|
-
},
|
|
92
|
-
async copySelection() {
|
|
93
|
-
await requireViewer().copySelection();
|
|
94
|
-
},
|
|
95
|
-
async cutSelection() {
|
|
96
|
-
await requireViewer().cutSelection();
|
|
97
|
-
},
|
|
98
|
-
async pasteSelection() {
|
|
99
|
-
await requireViewer().pasteSelection();
|
|
100
|
-
},
|
|
101
|
-
async undo() {
|
|
102
|
-
await requireViewer().undo();
|
|
103
|
-
},
|
|
104
|
-
async redo() {
|
|
105
|
-
await requireViewer().redo();
|
|
106
|
-
},
|
|
107
|
-
cancelEdit() {
|
|
108
|
-
requireViewer().cancelEdit();
|
|
109
|
-
},
|
|
110
|
-
exportVsdx() {
|
|
111
|
-
return requireViewer().exportVsdx();
|
|
112
|
-
},
|
|
113
|
-
fit() {
|
|
114
|
-
requireViewer().fit();
|
|
115
|
-
},
|
|
116
|
-
setLayerVisibility(pageId, layerId, visible) {
|
|
117
|
-
requireViewer().setLayerVisibility(pageId, layerId, visible);
|
|
118
|
-
},
|
|
119
|
-
resetLayerVisibility(pageId) {
|
|
120
|
-
requireViewer().resetLayerVisibility(pageId);
|
|
121
|
-
},
|
|
122
|
-
exportSvg(options) {
|
|
123
|
-
return requireViewer().exportSvg(options);
|
|
124
|
-
},
|
|
125
|
-
createPrintSnapshot(options) {
|
|
126
|
-
return requireViewer().createPrintSnapshot(options);
|
|
127
|
-
}
|
|
128
|
-
};
|
|
91
|
+
return deferredHandle(VIEWER_CONTRACT.handle, current, VIEWER_HANDLE_OPTIONS);
|
|
129
92
|
}
|
|
130
93
|
function viewerStateSource(current) {
|
|
131
94
|
const controller = () => {
|
|
@@ -150,7 +113,7 @@ function withEventEmitter(props, emit) {
|
|
|
150
113
|
const callbacks = {};
|
|
151
114
|
for (const name of eventKeys) Object.assign(callbacks, { [name]: (value) => {
|
|
152
115
|
try {
|
|
153
|
-
(props.events?.[name])?.(value);
|
|
116
|
+
return (props.events?.[name])?.(value);
|
|
154
117
|
} finally {
|
|
155
118
|
emit(name, value);
|
|
156
119
|
}
|
|
@@ -181,6 +144,7 @@ var VisioViewerComponent = class VisioViewerComponent {
|
|
|
181
144
|
this.selectionChange = new EventEmitter();
|
|
182
145
|
this.ribbonAddIn = new EventEmitter();
|
|
183
146
|
this.collaborationChange = new EventEmitter();
|
|
147
|
+
this.fileCommand = new EventEmitter();
|
|
184
148
|
this.host = inject(ElementRef);
|
|
185
149
|
this.handle = viewerHandle(() => this.binding);
|
|
186
150
|
this.stopState = () => {};
|
|
@@ -195,9 +159,13 @@ var VisioViewerComponent = class VisioViewerComponent {
|
|
|
195
159
|
"shape-select": this.shapeSelect,
|
|
196
160
|
"selection-change": this.selectionChange,
|
|
197
161
|
"office-ribbon-add-in": this.ribbonAddIn,
|
|
198
|
-
"collaboration-change": this.collaborationChange
|
|
162
|
+
"collaboration-change": this.collaborationChange,
|
|
163
|
+
"file-command": this.fileCommand
|
|
199
164
|
};
|
|
200
165
|
}
|
|
166
|
+
static {
|
|
167
|
+
installHandle(this.prototype, VIEWER_CONTRACT.handle, (self) => self.binding, VIEWER_HANDLE_OPTIONS);
|
|
168
|
+
}
|
|
201
169
|
options() {
|
|
202
170
|
return withEventEmitter(this, (name, value) => {
|
|
203
171
|
this.outputs[name].emit(value);
|
|
@@ -220,80 +188,17 @@ var VisioViewerComponent = class VisioViewerComponent {
|
|
|
220
188
|
this.binding = void 0;
|
|
221
189
|
mounted?.destroy();
|
|
222
190
|
}
|
|
223
|
-
get element() {
|
|
224
|
-
return this.handle.element;
|
|
225
|
-
}
|
|
226
|
-
get controller() {
|
|
227
|
-
return this.handle.controller;
|
|
228
|
-
}
|
|
229
|
-
load(source) {
|
|
230
|
-
return this.handle.load(source);
|
|
231
|
-
}
|
|
232
|
-
createBlankDrawing(options) {
|
|
233
|
-
return this.handle.createBlankDrawing(options);
|
|
234
|
-
}
|
|
235
|
-
applyEdits(edits) {
|
|
236
|
-
return this.handle.applyEdits(edits);
|
|
237
|
-
}
|
|
238
|
-
selectShapes(shapes) {
|
|
239
|
-
this.handle.selectShapes(shapes);
|
|
240
|
-
}
|
|
241
|
-
selectAll() {
|
|
242
|
-
this.handle.selectAll();
|
|
243
|
-
}
|
|
244
|
-
clearSelection() {
|
|
245
|
-
this.handle.clearSelection();
|
|
246
|
-
}
|
|
247
|
-
duplicateSelection() {
|
|
248
|
-
return this.handle.duplicateSelection();
|
|
249
|
-
}
|
|
250
|
-
copySelection() {
|
|
251
|
-
return this.handle.copySelection();
|
|
252
|
-
}
|
|
253
|
-
cutSelection() {
|
|
254
|
-
return this.handle.cutSelection();
|
|
255
|
-
}
|
|
256
|
-
pasteSelection() {
|
|
257
|
-
return this.handle.pasteSelection();
|
|
258
|
-
}
|
|
259
|
-
replacePlainText(pageId, shapeId, text) {
|
|
260
|
-
return this.handle.replacePlainText(pageId, shapeId, text);
|
|
261
|
-
}
|
|
262
|
-
undo() {
|
|
263
|
-
return this.handle.undo();
|
|
264
|
-
}
|
|
265
|
-
redo() {
|
|
266
|
-
return this.handle.redo();
|
|
267
|
-
}
|
|
268
|
-
cancelEdit() {
|
|
269
|
-
this.handle.cancelEdit();
|
|
270
|
-
}
|
|
271
|
-
exportVsdx() {
|
|
272
|
-
return this.handle.exportVsdx();
|
|
273
|
-
}
|
|
274
|
-
fit() {
|
|
275
|
-
this.handle.fit();
|
|
276
|
-
}
|
|
277
|
-
setLayerVisibility(pageId, layerId, visible) {
|
|
278
|
-
this.handle.setLayerVisibility(pageId, layerId, visible);
|
|
279
|
-
}
|
|
280
|
-
resetLayerVisibility(pageId) {
|
|
281
|
-
this.handle.resetLayerVisibility(pageId);
|
|
282
|
-
}
|
|
283
|
-
exportSvg(options) {
|
|
284
|
-
return this.handle.exportSvg(options);
|
|
285
|
-
}
|
|
286
|
-
createPrintSnapshot(options) {
|
|
287
|
-
return this.handle.createPrintSnapshot(options);
|
|
288
|
-
}
|
|
289
191
|
};
|
|
290
192
|
__decorate([Input()], VisioViewerComponent.prototype, "document", void 0);
|
|
291
193
|
__decorate([Input()], VisioViewerComponent.prototype, "pageIndex", void 0);
|
|
292
194
|
__decorate([Input()], VisioViewerComponent.prototype, "zoom", void 0);
|
|
293
195
|
__decorate([Input()], VisioViewerComponent.prototype, "showToolbar", void 0);
|
|
294
196
|
__decorate([Input()], VisioViewerComponent.prototype, "canEdit", void 0);
|
|
197
|
+
__decorate([Input()], VisioViewerComponent.prototype, "readOnly", void 0);
|
|
295
198
|
__decorate([Input()], VisioViewerComponent.prototype, "ribbonAddIns", void 0);
|
|
296
199
|
__decorate([Input()], VisioViewerComponent.prototype, "collaboration", void 0);
|
|
200
|
+
__decorate([Input()], VisioViewerComponent.prototype, "storage", void 0);
|
|
201
|
+
__decorate([Input()], VisioViewerComponent.prototype, "customization", void 0);
|
|
297
202
|
__decorate([Input()], VisioViewerComponent.prototype, "events", void 0);
|
|
298
203
|
__decorate([Output()], VisioViewerComponent.prototype, "documentLoad", void 0);
|
|
299
204
|
__decorate([Output()], VisioViewerComponent.prototype, "documentChange", void 0);
|
|
@@ -304,6 +209,7 @@ __decorate([Output()], VisioViewerComponent.prototype, "shapeSelect", void 0);
|
|
|
304
209
|
__decorate([Output()], VisioViewerComponent.prototype, "selectionChange", void 0);
|
|
305
210
|
__decorate([Output()], VisioViewerComponent.prototype, "ribbonAddIn", void 0);
|
|
306
211
|
__decorate([Output()], VisioViewerComponent.prototype, "collaborationChange", void 0);
|
|
212
|
+
__decorate([Output()], VisioViewerComponent.prototype, "fileCommand", void 0);
|
|
307
213
|
VisioViewerComponent = __decorate([Component({
|
|
308
214
|
selector: "visio-viewer-host",
|
|
309
215
|
standalone: true,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { EventEmitter, type AfterViewInit, type OnChanges, type OnDestroy } from '@angular/core';
|
|
2
|
-
import { type ViewerCallbacks, type
|
|
2
|
+
import { type ViewerCallbacks, type ViewerHandle, type ViewerProperties, type ViewerState } from './common.js';
|
|
3
|
+
/** The handle members, defined on the prototype from `VIEWER_CONTRACT.handle`. */
|
|
4
|
+
export interface VisioViewerComponent extends ViewerHandle {
|
|
5
|
+
}
|
|
3
6
|
/** Angular input/output and lifecycle wiring over the one shared browser binding. */
|
|
4
7
|
export declare class VisioViewerComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
5
8
|
document?: ViewerProperties['document'];
|
|
@@ -7,8 +10,11 @@ export declare class VisioViewerComponent implements AfterViewInit, OnChanges, O
|
|
|
7
10
|
zoom?: number;
|
|
8
11
|
showToolbar?: boolean;
|
|
9
12
|
canEdit?: boolean;
|
|
13
|
+
readOnly?: boolean;
|
|
10
14
|
ribbonAddIns?: ViewerProperties['ribbonAddIns'];
|
|
11
15
|
collaboration?: ViewerProperties['collaboration'];
|
|
16
|
+
storage?: ViewerProperties['storage'];
|
|
17
|
+
customization?: ViewerProperties['customization'];
|
|
12
18
|
events?: ViewerCallbacks;
|
|
13
19
|
documentLoad: EventEmitter<import("visio-core").VisioDocument>;
|
|
14
20
|
documentChange: EventEmitter<{
|
|
@@ -19,10 +25,12 @@ export declare class VisioViewerComponent implements AfterViewInit, OnChanges, O
|
|
|
19
25
|
documentError: EventEmitter<Error>;
|
|
20
26
|
pageChange: EventEmitter<number>;
|
|
21
27
|
zoomChange: EventEmitter<number>;
|
|
22
|
-
shapeSelect: EventEmitter<VisioShapeSelection | null>;
|
|
23
|
-
selectionChange: EventEmitter<readonly VisioShapeSelection[]>;
|
|
28
|
+
shapeSelect: EventEmitter<import("ooxml-ui/visio").VisioShapeSelection | null>;
|
|
29
|
+
selectionChange: EventEmitter<readonly import("ooxml-ui/visio").VisioShapeSelection[]>;
|
|
24
30
|
ribbonAddIn: EventEmitter<import("ooxml-core/ribbon").RibbonAddInCommandDetail>;
|
|
25
31
|
collaborationChange: EventEmitter<import("ooxml-core/collab").CollaborationState>;
|
|
32
|
+
/** Notification only: to cancel a File command, return false from `events['file-command']`. */
|
|
33
|
+
fileCommand: EventEmitter<import("ooxml-core/embedding").FileCommandDetail<import("ooxml-core/embedding").VisioFileCommand>>;
|
|
26
34
|
private readonly host;
|
|
27
35
|
private binding;
|
|
28
36
|
private readonly handle;
|
|
@@ -35,27 +43,5 @@ export declare class VisioViewerComponent implements AfterViewInit, OnChanges, O
|
|
|
35
43
|
ngAfterViewInit(): void;
|
|
36
44
|
ngOnChanges(): void;
|
|
37
45
|
ngOnDestroy(): void;
|
|
38
|
-
get element(): import("ooxml-ui/visio").VisioViewerElement;
|
|
39
|
-
get controller(): import("ooxml-ui/visio").ViewerController;
|
|
40
|
-
load(source: VsdxSource): Promise<void>;
|
|
41
|
-
createBlankDrawing(options?: CreateVsdxOptions): Promise<void>;
|
|
42
|
-
applyEdits(edits: readonly VisioEdit[]): Promise<void>;
|
|
43
|
-
selectShapes(shapes: readonly VisioShapeSelection[]): void;
|
|
44
|
-
selectAll(): void;
|
|
45
|
-
clearSelection(): void;
|
|
46
|
-
duplicateSelection(): Promise<void>;
|
|
47
|
-
copySelection(): Promise<void>;
|
|
48
|
-
cutSelection(): Promise<void>;
|
|
49
|
-
pasteSelection(): Promise<void>;
|
|
50
|
-
replacePlainText(pageId: string, shapeId: string, text: string): Promise<void>;
|
|
51
|
-
undo(): Promise<void>;
|
|
52
|
-
redo(): Promise<void>;
|
|
53
|
-
cancelEdit(): void;
|
|
54
|
-
exportVsdx(): import("ooxml-ui/visio").VsdxExportResult;
|
|
55
|
-
fit(): void;
|
|
56
|
-
setLayerVisibility(pageId: string, layerId: string, visible: boolean | null): void;
|
|
57
|
-
resetLayerVisibility(pageId?: string): void;
|
|
58
|
-
exportSvg(options?: SvgExportOptions): import("ooxml-ui/visio").SvgExportResult;
|
|
59
|
-
createPrintSnapshot(options?: CurrentPagePrintSnapshotOptions): import("ooxml-ui/visio").PrintSnapshot;
|
|
60
46
|
}
|
|
61
47
|
export type { ViewerState, ViewerHandle, ViewerCallbacks, ViewerOptions, ViewerEvents, VisioShapeSelection, CreateVsdxOptions, ViewerEditState, VsdxExportResult, RibbonAddInCommand, RibbonAddInGroup, RibbonAddInTab, } from './common.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { mountViewer, type MountedViewer } from 'ooxml-ui/visio';
|
|
2
2
|
import type { ViewerState } from 'ooxml-ui/visio';
|
|
3
|
+
import { type BindingContract } from 'ooxml-ui/bindings';
|
|
3
4
|
import { eventKeys, propertyKeys, type ViewerCallbacks, type ViewerOptions, type ViewerProperties } from 'ooxml-ui/visio';
|
|
4
5
|
/** Framework props permit undefined; omitted values preserve the shared binding's state. */
|
|
5
6
|
export type ViewerProps = {
|
|
@@ -8,6 +9,16 @@ export type ViewerProps = {
|
|
|
8
9
|
events?: ViewerCallbacks | undefined;
|
|
9
10
|
};
|
|
10
11
|
export type ViewerHandle = Pick<MountedViewer, 'element' | 'controller' | 'load' | 'createBlankDrawing' | 'applyEdits' | 'selectShapes' | 'selectAll' | 'clearSelection' | 'duplicateSelection' | 'copySelection' | 'cutSelection' | 'pasteSelection' | 'replacePlainText' | 'undo' | 'redo' | 'cancelEdit' | 'exportVsdx' | 'fit' | 'setLayerVisibility' | 'resetLayerVisibility' | 'exportSvg' | 'createPrintSnapshot'>;
|
|
12
|
+
/**
|
|
13
|
+
* The Visio binding contract. `mountViewer` (ooxml-ui/visio) forwards properties and events itself,
|
|
14
|
+
* so every property is `manual` here: `mountFrameworkViewer` sends them as revision-aware patches.
|
|
15
|
+
* Events reach native outputs through the `events` callback map (`withEventEmitter`).
|
|
16
|
+
*/
|
|
17
|
+
export declare const VIEWER_CONTRACT: BindingContract<never, ViewerProperties, ViewerHandle>;
|
|
18
|
+
/** The error every lazy handle member throws before mount and after unmount. */
|
|
19
|
+
export declare const VIEWER_HANDLE_OPTIONS: {
|
|
20
|
+
readonly message: "The viewer is not mounted.";
|
|
21
|
+
};
|
|
11
22
|
/** One mapping for every property and event, shared by every framework adapter. */
|
|
12
23
|
export declare function viewerOptions(props: ViewerProps): ViewerOptions;
|
|
13
24
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "visio-angular-viewer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Local-first Visio viewer for angular",
|
|
5
5
|
"homepage": "https://christophervr.github.io/ooxml/visio/",
|
|
6
6
|
"bugs": {
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"emf-converter": "4.21.0",
|
|
34
|
-
"ooxml-core": "^1.
|
|
35
|
-
"ooxml-ui": "^1.
|
|
34
|
+
"ooxml-core": "^1.25.0",
|
|
35
|
+
"ooxml-ui": "^1.26.0",
|
|
36
36
|
"visio-core": "^1.0.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|