@lumiscaphe/ng-viewer 15.0.0 → 16.1.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.
@@ -0,0 +1,166 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Viewer } from '@lumiscaphe/viewer';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ class NgViewerComponent {
6
+ constructor() {
7
+ this.hotspots2D = [];
8
+ this.hotspotTemplateRef = null;
9
+ this.onLoadStart = new EventEmitter();
10
+ this.onLoadProgress = new EventEmitter();
11
+ this.onLoadEnd = new EventEmitter();
12
+ this.onLoadError = new EventEmitter();
13
+ this.onInteraction = new EventEmitter();
14
+ this.onVrcubeInteraction = new EventEmitter();
15
+ this.onVrobjectInteraction = new EventEmitter();
16
+ }
17
+ ngAfterViewInit() {
18
+ this.viewer = new Viewer(this.container.nativeElement, {
19
+ server: this.server,
20
+ api: this.api || 'v1',
21
+ fit: this.fit || 'cover',
22
+ events: {
23
+ onLoadStart: (...args) => {
24
+ this.onLoadStart.emit(...args);
25
+ },
26
+ onLoadProgress: (...args) => {
27
+ this.onLoadProgress.emit(...args);
28
+ },
29
+ onLoadEnd: (...args) => {
30
+ this.onLoadEnd.emit(...args);
31
+ },
32
+ onLoadError: (...args) => {
33
+ this.onLoadError.emit(...args);
34
+ },
35
+ onHotspotsChange: this.onHotspotsChange.bind(this),
36
+ onInteraction: (...args) => {
37
+ this.onInteraction.emit(...args);
38
+ },
39
+ onVrcubeInteraction: (...args) => {
40
+ this.onVrcubeInteraction.emit(...args);
41
+ },
42
+ onVrobjectInteraction: (...args) => {
43
+ this.onVrobjectInteraction.emit(...args);
44
+ }
45
+ }
46
+ });
47
+ if (this.scene) {
48
+ this.viewer.load(this.scene).catch(() => { });
49
+ }
50
+ if (this.encoder) {
51
+ this.viewer.setEncoder(this.encoder).catch(() => { });
52
+ }
53
+ if (this.hotspots) {
54
+ this.viewer.setHotspots(this.hotspots);
55
+ }
56
+ if (this.parameters) {
57
+ this.viewer.setParameters(this.parameters).catch(() => { });
58
+ }
59
+ if (this.view) {
60
+ this.viewer.setView(this.view).catch(() => { });
61
+ }
62
+ if (this.vrcube) {
63
+ this.viewer.setVrcube(this.vrcube);
64
+ }
65
+ if (this.vrobject) {
66
+ this.viewer.setVrobject(this.vrobject);
67
+ }
68
+ }
69
+ ngOnDestroy() {
70
+ this.viewer?.destroy();
71
+ }
72
+ ngOnChanges(changes) {
73
+ if (!this.viewer) {
74
+ return;
75
+ }
76
+ if (changes['scene'] && changes['scene'].currentValue) {
77
+ this.viewer.load(changes['scene'].currentValue).catch(() => { });
78
+ }
79
+ if (changes['encoder'] && changes['encoder'].currentValue) {
80
+ this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });
81
+ }
82
+ if (changes['hotspots'] && changes['hotspots'].currentValue) {
83
+ this.viewer.setHotspots(changes['hotspots'].currentValue);
84
+ }
85
+ if (changes['parameters'] && changes['parameters'].currentValue) {
86
+ this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });
87
+ }
88
+ if (changes['view'] && changes['view'].currentValue) {
89
+ this.viewer.setView(changes['view'].currentValue).catch(() => { });
90
+ }
91
+ if (changes['vrcube'] && changes['vrcube'].currentValue) {
92
+ this.viewer.setVrcube(changes['vrcube'].currentValue);
93
+ }
94
+ if (changes['vrobject'] && changes['vrobject'].currentValue) {
95
+ this.viewer.setVrobject(changes['vrobject'].currentValue);
96
+ }
97
+ }
98
+ async pick(position) {
99
+ return this.viewer?.pick(position);
100
+ }
101
+ snapshot(type, quality) {
102
+ return this.viewer?.snapshot(type, quality);
103
+ }
104
+ hotspotStyle(hotspot) {
105
+ return {
106
+ position: 'absolute',
107
+ top: hotspot.position2D.y + 'px',
108
+ left: hotspot.position2D.x + 'px'
109
+ };
110
+ }
111
+ onHotspotsChange(hotspots) {
112
+ this.hotspots2D = hotspots;
113
+ if (this.hotspotsFilter !== undefined) {
114
+ this.hotspots2D = this.hotspotsFilter(this.hotspots2D);
115
+ }
116
+ }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NgViewerComponent, selector: "NgViewer", inputs: { server: "server", api: "api", fit: "fit", scene: "scene", encoder: "encoder", parameters: "parameters", view: "view", vrcube: "vrcube", vrobject: "vrobject", hotspots: "hotspots", hotspotTemplateRef: "hotspotTemplateRef", hotspotsFilter: "hotspotsFilter" }, outputs: { onLoadStart: "onLoadStart", onLoadProgress: "onLoadProgress", onLoadEnd: "onLoadEnd", onLoadError: "onLoadError", onInteraction: "onInteraction", onVrcubeInteraction: "onVrcubeInteraction", onVrobjectInteraction: "onVrobjectInteraction" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container></div>\n\n<div class=\"position-absolute w-100 h-100\" style=\"pointer-events: none\" *ngIf=\"hotspots2D.length\">\n <ng-container *ngFor=\"let hotspot of hotspots2D; index as i\">\n <div [ngStyle]=\"hotspotStyle(hotspot)\">\n <ng-container *ngTemplateOutlet=\"hotspotTemplateRef; context: { $implicit: hotspot, index: i }\"></ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex:1 0 auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
119
+ }
120
+ export { NgViewerComponent };
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerComponent, decorators: [{
122
+ type: Component,
123
+ args: [{ selector: 'NgViewer', template: "<div #container></div>\n\n<div class=\"position-absolute w-100 h-100\" style=\"pointer-events: none\" *ngIf=\"hotspots2D.length\">\n <ng-container *ngFor=\"let hotspot of hotspots2D; index as i\">\n <div [ngStyle]=\"hotspotStyle(hotspot)\">\n <ng-container *ngTemplateOutlet=\"hotspotTemplateRef; context: { $implicit: hotspot, index: i }\"></ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex:1 0 auto}\n"] }]
124
+ }], propDecorators: { server: [{
125
+ type: Input
126
+ }], api: [{
127
+ type: Input
128
+ }], fit: [{
129
+ type: Input
130
+ }], scene: [{
131
+ type: Input
132
+ }], encoder: [{
133
+ type: Input
134
+ }], parameters: [{
135
+ type: Input
136
+ }], view: [{
137
+ type: Input
138
+ }], vrcube: [{
139
+ type: Input
140
+ }], vrobject: [{
141
+ type: Input
142
+ }], hotspots: [{
143
+ type: Input
144
+ }], hotspotTemplateRef: [{
145
+ type: Input
146
+ }], hotspotsFilter: [{
147
+ type: Input
148
+ }], onLoadStart: [{
149
+ type: Output
150
+ }], onLoadProgress: [{
151
+ type: Output
152
+ }], onLoadEnd: [{
153
+ type: Output
154
+ }], onLoadError: [{
155
+ type: Output
156
+ }], onInteraction: [{
157
+ type: Output
158
+ }], onVrcubeInteraction: [{
159
+ type: Output
160
+ }], onVrobjectInteraction: [{
161
+ type: Output
162
+ }], container: [{
163
+ type: ViewChild,
164
+ args: ['container']
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvbGliL25nLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aWV3ZXIvc3JjL2xpYi9uZy12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUE4QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUE2QyxNQUFNLEVBQXlDLE1BQU0sb0JBQW9CLENBQUM7OztBQUU5SCxNQUthLGlCQUFpQjtJQUw5QjtRQVFTLGVBQVUsR0FBYyxFQUFFLENBQUM7UUFZekIsdUJBQWtCLEdBQTRCLElBQUksQ0FBQztRQUdsRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBNkh0RDtJQXpIQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUNyRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSTtZQUNyQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPO1lBQ3hCLE1BQU0sRUFBRTtnQkFDTixXQUFXLEVBQUUsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO29CQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxDQUFDO2dCQUNELGNBQWMsRUFBRSxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztnQkFDRCxXQUFXLEVBQUUsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO29CQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNqQyxDQUFDO2dCQUNELGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNsRCxhQUFhLEVBQUUsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFO29CQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO2dCQUNELG1CQUFtQixFQUFFLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUN6QyxDQUFDO2dCQUNELHFCQUFxQixFQUFFLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRTtvQkFDeEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUVELElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUU7WUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUU7WUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztTQUN6RTtRQUVELElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLEVBQUU7WUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNEO1FBRUQsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQTBCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWdCO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixHQUFHLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsSUFBSTtZQUNoQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsSUFBSTtTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQW1CO1FBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7OEdBcEpVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9yQkNSOUIsd1pBU0E7O1NERGEsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsVUFBVTs4QkFTWCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRWlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW5jb2RlciwgSG90c3BvdCwgUGFyYW1ldGVycywgU2NlbmUsIFZpZXcsIFZpZXdlciwgV1JBUEl2MiwgV2lkZ2V0VlJDdWJlLCBXaWRnZXRWUk9iamVjdCB9IGZyb20gJ0BsdW1pc2NhcGhlL3ZpZXdlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ05nVmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25nLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nLXZpZXdlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5nVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgdmlld2VyOiBWaWV3ZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGhvdHNwb3RzMkQ6IEhvdHNwb3RbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNlcnZlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhcGk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZml0OiAnY29udGFpbicgfCAnY292ZXInIHwgJ2ZpbGwnIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzY2VuZTogU2NlbmUgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGVuY29kZXI6IEVuY29kZXIgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IFBhcmFtZXRlcnMgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHZpZXc6IFZpZXcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHZyY3ViZTogUGFydGlhbDxXaWRnZXRWUkN1YmU+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSB2cm9iamVjdDogUGFydGlhbDxXaWRnZXRWUk9iamVjdD4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhvdHNwb3RzOiBBcnJheTxzdHJpbmcgfCBXUkFQSXYyLlZlY3RvcjNEPiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaG90c3BvdFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGhvdHNwb3RzRmlsdGVyOiAoKGhvdHNwb3RzOiBIb3RzcG90W10pID0+IEhvdHNwb3RbXSkgfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIG9uTG9hZFN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Mb2FkUHJvZ3Jlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvYWRFbmQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvYWRFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uSW50ZXJhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblZyY3ViZUludGVyYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Wcm9iamVjdEludGVyYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudmlld2VyID0gbmV3IFZpZXdlcih0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBzZXJ2ZXI6IHRoaXMuc2VydmVyLFxuICAgICAgYXBpOiB0aGlzLmFwaSB8fCAndjEnLFxuICAgICAgZml0OiB0aGlzLmZpdCB8fCAnY292ZXInLFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIG9uTG9hZFN0YXJ0OiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICB0aGlzLm9uTG9hZFN0YXJ0LmVtaXQoLi4uYXJncyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uTG9hZFByb2dyZXNzOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICB0aGlzLm9uTG9hZFByb2dyZXNzLmVtaXQoLi4uYXJncyk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uTG9hZEVuZDogKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgICAgdGhpcy5vbkxvYWRFbmQuZW1pdCguLi5hcmdzKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Mb2FkRXJyb3I6ICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIHRoaXMub25Mb2FkRXJyb3IuZW1pdCguLi5hcmdzKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ib3RzcG90c0NoYW5nZTogdGhpcy5vbkhvdHNwb3RzQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgIG9uSW50ZXJhY3Rpb246ICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIHRoaXMub25JbnRlcmFjdGlvbi5lbWl0KC4uLmFyZ3MpO1xuICAgICAgICB9LFxuICAgICAgICBvblZyY3ViZUludGVyYWN0aW9uOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICB0aGlzLm9uVnJjdWJlSW50ZXJhY3Rpb24uZW1pdCguLi5hcmdzKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Wcm9iamVjdEludGVyYWN0aW9uOiAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgICB0aGlzLm9uVnJvYmplY3RJbnRlcmFjdGlvbi5lbWl0KC4uLmFyZ3MpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zY2VuZSkge1xuICAgICAgdGhpcy52aWV3ZXIubG9hZCh0aGlzLnNjZW5lKS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZW5jb2Rlcikge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0RW5jb2Rlcih0aGlzLmVuY29kZXIpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ob3RzcG90cykge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0SG90c3BvdHModGhpcy5ob3RzcG90cyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycykge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0UGFyYW1ldGVycyh0aGlzLnBhcmFtZXRlcnMpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52aWV3KSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRWaWV3KHRoaXMudmlldykuY2F0Y2goKCkgPT4ge30pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZyY3ViZSkge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0VnJjdWJlKHRoaXMudnJjdWJlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52cm9iamVjdCkge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0VnJvYmplY3QodGhpcy52cm9iamVjdCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52aWV3ZXI/LmRlc3Ryb3koKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIXRoaXMudmlld2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3NjZW5lJ10gJiYgY2hhbmdlc1snc2NlbmUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLmxvYWQoY2hhbmdlc1snc2NlbmUnXS5jdXJyZW50VmFsdWUpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snZW5jb2RlciddICYmIGNoYW5nZXNbJ2VuY29kZXInXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLnNldEVuY29kZXIoY2hhbmdlc1snZW5jb2RlciddLmN1cnJlbnRWYWx1ZSkuY2F0Y2goKCkgPT4ge30pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydob3RzcG90cyddICYmIGNoYW5nZXNbJ2hvdHNwb3RzJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRIb3RzcG90cyhjaGFuZ2VzWydob3RzcG90cyddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNbJ3BhcmFtZXRlcnMnXSAmJiBjaGFuZ2VzWydwYXJhbWV0ZXJzJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRQYXJhbWV0ZXJzKGNoYW5nZXNbJ3BhcmFtZXRlcnMnXS5jdXJyZW50VmFsdWUpLmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndmlldyddICYmIGNoYW5nZXNbJ3ZpZXcnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLnNldFZpZXcoY2hhbmdlc1sndmlldyddLmN1cnJlbnRWYWx1ZSkuY2F0Y2goKCkgPT4ge30pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWyd2cmN1YmUnXSAmJiBjaGFuZ2VzWyd2cmN1YmUnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLnNldFZyY3ViZShjaGFuZ2VzWyd2cmN1YmUnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWyd2cm9iamVjdCddICYmIGNoYW5nZXNbJ3Zyb2JqZWN0J10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRWcm9iamVjdChjaGFuZ2VzWyd2cm9iamVjdCddLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGljayhwb3NpdGlvbjogV1JBUEl2Mi5WZWN0b3IyRCk6IFByb21pc2U8V1JBUEl2Mi5QaWNrUmVzcG9uc2UgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3ZXI/LnBpY2socG9zaXRpb24pO1xuICB9XG5cbiAgc25hcHNob3QodHlwZTogc3RyaW5nLCBxdWFsaXR5OiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZpZXdlcj8uc25hcHNob3QodHlwZSwgcXVhbGl0eSk7XG4gIH1cblxuICBob3RzcG90U3R5bGUoaG90c3BvdDogSG90c3BvdCk6IHsgbGVmdDogc3RyaW5nOyB0b3A6IHN0cmluZzsgcG9zaXRpb246IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICB0b3A6IGhvdHNwb3QucG9zaXRpb24yRC55ICsgJ3B4JyxcbiAgICAgIGxlZnQ6IGhvdHNwb3QucG9zaXRpb24yRC54ICsgJ3B4J1xuICAgIH07XG4gIH1cblxuICBvbkhvdHNwb3RzQ2hhbmdlKGhvdHNwb3RzOiBIb3RzcG90W10pOiB2b2lkIHtcbiAgICB0aGlzLmhvdHNwb3RzMkQgPSBob3RzcG90cztcblxuICAgIGlmICh0aGlzLmhvdHNwb3RzRmlsdGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG90c3BvdHMyRCA9IHRoaXMuaG90c3BvdHNGaWx0ZXIodGhpcy5ob3RzcG90czJEKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgI2NvbnRhaW5lcj48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHctMTAwIGgtMTAwXCIgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZVwiICpuZ0lmPVwiaG90c3BvdHMyRC5sZW5ndGhcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaG90c3BvdCBvZiBob3RzcG90czJEOyBpbmRleCBhcyBpXCI+XG4gICAgPGRpdiBbbmdTdHlsZV09XCJob3RzcG90U3R5bGUoaG90c3BvdClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJob3RzcG90VGVtcGxhdGVSZWY7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBob3RzcG90LCBpbmRleDogaSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { NgViewerComponent } from './ng-viewer.component';
4
+ import * as i0 from "@angular/core";
5
+ class NgViewerModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, declarations: [NgViewerComponent], imports: [CommonModule], exports: [NgViewerComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, imports: [CommonModule] }); }
9
+ }
10
+ export { NgViewerModule };
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [
15
+ NgViewerComponent
16
+ ],
17
+ imports: [
18
+ CommonModule
19
+ ],
20
+ exports: [
21
+ NgViewerComponent
22
+ ]
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvbGliL25nLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTFELE1BWWEsY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBVnZCLGlCQUFpQixhQUdqQixZQUFZLGFBR1osaUJBQWlCOytHQUlSLGNBQWMsWUFQdkIsWUFBWTs7U0FPSCxjQUFjOzJGQUFkLGNBQWM7a0JBWjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9uZy12aWV3ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmdWaWV3ZXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmdWaWV3ZXJDb21wb25lbnRcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIE5nVmlld2VyTW9kdWxlIHsgfVxuIl19
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVtaXNjYXBoZS1uZy12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZy12aWV3ZXIvc3JjL2x1bWlzY2FwaGUtbmctdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,6 +1,6 @@
1
- /*
2
- * Public API Surface of ng-viewer
3
- */
4
- export * from './lib/ng-viewer.component';
5
- export * from './lib/ng-viewer.module';
1
+ /*
2
+ * Public API Surface of ng-viewer
3
+ */
4
+ export * from './lib/ng-viewer.component';
5
+ export * from './lib/ng-viewer.module';
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctdmlld2VyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy12aWV3ZXIubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,197 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, ViewChild, NgModule } from '@angular/core';
3
+ import { Viewer } from '@lumiscaphe/viewer';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+
7
+ class NgViewerComponent {
8
+ constructor() {
9
+ this.hotspots2D = [];
10
+ this.hotspotTemplateRef = null;
11
+ this.onLoadStart = new EventEmitter();
12
+ this.onLoadProgress = new EventEmitter();
13
+ this.onLoadEnd = new EventEmitter();
14
+ this.onLoadError = new EventEmitter();
15
+ this.onInteraction = new EventEmitter();
16
+ this.onVrcubeInteraction = new EventEmitter();
17
+ this.onVrobjectInteraction = new EventEmitter();
18
+ }
19
+ ngAfterViewInit() {
20
+ this.viewer = new Viewer(this.container.nativeElement, {
21
+ server: this.server,
22
+ api: this.api || 'v1',
23
+ fit: this.fit || 'cover',
24
+ events: {
25
+ onLoadStart: (...args) => {
26
+ this.onLoadStart.emit(...args);
27
+ },
28
+ onLoadProgress: (...args) => {
29
+ this.onLoadProgress.emit(...args);
30
+ },
31
+ onLoadEnd: (...args) => {
32
+ this.onLoadEnd.emit(...args);
33
+ },
34
+ onLoadError: (...args) => {
35
+ this.onLoadError.emit(...args);
36
+ },
37
+ onHotspotsChange: this.onHotspotsChange.bind(this),
38
+ onInteraction: (...args) => {
39
+ this.onInteraction.emit(...args);
40
+ },
41
+ onVrcubeInteraction: (...args) => {
42
+ this.onVrcubeInteraction.emit(...args);
43
+ },
44
+ onVrobjectInteraction: (...args) => {
45
+ this.onVrobjectInteraction.emit(...args);
46
+ }
47
+ }
48
+ });
49
+ if (this.scene) {
50
+ this.viewer.load(this.scene).catch(() => { });
51
+ }
52
+ if (this.encoder) {
53
+ this.viewer.setEncoder(this.encoder).catch(() => { });
54
+ }
55
+ if (this.hotspots) {
56
+ this.viewer.setHotspots(this.hotspots);
57
+ }
58
+ if (this.parameters) {
59
+ this.viewer.setParameters(this.parameters).catch(() => { });
60
+ }
61
+ if (this.view) {
62
+ this.viewer.setView(this.view).catch(() => { });
63
+ }
64
+ if (this.vrcube) {
65
+ this.viewer.setVrcube(this.vrcube);
66
+ }
67
+ if (this.vrobject) {
68
+ this.viewer.setVrobject(this.vrobject);
69
+ }
70
+ }
71
+ ngOnDestroy() {
72
+ this.viewer?.destroy();
73
+ }
74
+ ngOnChanges(changes) {
75
+ if (!this.viewer) {
76
+ return;
77
+ }
78
+ if (changes['scene'] && changes['scene'].currentValue) {
79
+ this.viewer.load(changes['scene'].currentValue).catch(() => { });
80
+ }
81
+ if (changes['encoder'] && changes['encoder'].currentValue) {
82
+ this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });
83
+ }
84
+ if (changes['hotspots'] && changes['hotspots'].currentValue) {
85
+ this.viewer.setHotspots(changes['hotspots'].currentValue);
86
+ }
87
+ if (changes['parameters'] && changes['parameters'].currentValue) {
88
+ this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });
89
+ }
90
+ if (changes['view'] && changes['view'].currentValue) {
91
+ this.viewer.setView(changes['view'].currentValue).catch(() => { });
92
+ }
93
+ if (changes['vrcube'] && changes['vrcube'].currentValue) {
94
+ this.viewer.setVrcube(changes['vrcube'].currentValue);
95
+ }
96
+ if (changes['vrobject'] && changes['vrobject'].currentValue) {
97
+ this.viewer.setVrobject(changes['vrobject'].currentValue);
98
+ }
99
+ }
100
+ async pick(position) {
101
+ return this.viewer?.pick(position);
102
+ }
103
+ snapshot(type, quality) {
104
+ return this.viewer?.snapshot(type, quality);
105
+ }
106
+ hotspotStyle(hotspot) {
107
+ return {
108
+ position: 'absolute',
109
+ top: hotspot.position2D.y + 'px',
110
+ left: hotspot.position2D.x + 'px'
111
+ };
112
+ }
113
+ onHotspotsChange(hotspots) {
114
+ this.hotspots2D = hotspots;
115
+ if (this.hotspotsFilter !== undefined) {
116
+ this.hotspots2D = this.hotspotsFilter(this.hotspots2D);
117
+ }
118
+ }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: NgViewerComponent, selector: "NgViewer", inputs: { server: "server", api: "api", fit: "fit", scene: "scene", encoder: "encoder", parameters: "parameters", view: "view", vrcube: "vrcube", vrobject: "vrobject", hotspots: "hotspots", hotspotTemplateRef: "hotspotTemplateRef", hotspotsFilter: "hotspotsFilter" }, outputs: { onLoadStart: "onLoadStart", onLoadProgress: "onLoadProgress", onLoadEnd: "onLoadEnd", onLoadError: "onLoadError", onInteraction: "onInteraction", onVrcubeInteraction: "onVrcubeInteraction", onVrobjectInteraction: "onVrobjectInteraction" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container></div>\n\n<div class=\"position-absolute w-100 h-100\" style=\"pointer-events: none\" *ngIf=\"hotspots2D.length\">\n <ng-container *ngFor=\"let hotspot of hotspots2D; index as i\">\n <div [ngStyle]=\"hotspotStyle(hotspot)\">\n <ng-container *ngTemplateOutlet=\"hotspotTemplateRef; context: { $implicit: hotspot, index: i }\"></ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex:1 0 auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerComponent, decorators: [{
123
+ type: Component,
124
+ args: [{ selector: 'NgViewer', template: "<div #container></div>\n\n<div class=\"position-absolute w-100 h-100\" style=\"pointer-events: none\" *ngIf=\"hotspots2D.length\">\n <ng-container *ngFor=\"let hotspot of hotspots2D; index as i\">\n <div [ngStyle]=\"hotspotStyle(hotspot)\">\n <ng-container *ngTemplateOutlet=\"hotspotTemplateRef; context: { $implicit: hotspot, index: i }\"></ng-container>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex:1 0 auto}\n"] }]
125
+ }], propDecorators: { server: [{
126
+ type: Input
127
+ }], api: [{
128
+ type: Input
129
+ }], fit: [{
130
+ type: Input
131
+ }], scene: [{
132
+ type: Input
133
+ }], encoder: [{
134
+ type: Input
135
+ }], parameters: [{
136
+ type: Input
137
+ }], view: [{
138
+ type: Input
139
+ }], vrcube: [{
140
+ type: Input
141
+ }], vrobject: [{
142
+ type: Input
143
+ }], hotspots: [{
144
+ type: Input
145
+ }], hotspotTemplateRef: [{
146
+ type: Input
147
+ }], hotspotsFilter: [{
148
+ type: Input
149
+ }], onLoadStart: [{
150
+ type: Output
151
+ }], onLoadProgress: [{
152
+ type: Output
153
+ }], onLoadEnd: [{
154
+ type: Output
155
+ }], onLoadError: [{
156
+ type: Output
157
+ }], onInteraction: [{
158
+ type: Output
159
+ }], onVrcubeInteraction: [{
160
+ type: Output
161
+ }], onVrobjectInteraction: [{
162
+ type: Output
163
+ }], container: [{
164
+ type: ViewChild,
165
+ args: ['container']
166
+ }] } });
167
+
168
+ class NgViewerModule {
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
170
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, declarations: [NgViewerComponent], imports: [CommonModule], exports: [NgViewerComponent] }); }
171
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, imports: [CommonModule] }); }
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: NgViewerModule, decorators: [{
174
+ type: NgModule,
175
+ args: [{
176
+ declarations: [
177
+ NgViewerComponent
178
+ ],
179
+ imports: [
180
+ CommonModule
181
+ ],
182
+ exports: [
183
+ NgViewerComponent
184
+ ]
185
+ }]
186
+ }] });
187
+
188
+ /*
189
+ * Public API Surface of ng-viewer
190
+ */
191
+
192
+ /**
193
+ * Generated bundle index. Do not edit.
194
+ */
195
+
196
+ export { NgViewerComponent, NgViewerModule };
197
+ //# sourceMappingURL=lumiscaphe-ng-viewer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lumiscaphe-ng-viewer.mjs","sources":["../../../projects/ng-viewer/src/lib/ng-viewer.component.ts","../../../projects/ng-viewer/src/lib/ng-viewer.component.html","../../../projects/ng-viewer/src/lib/ng-viewer.module.ts","../../../projects/ng-viewer/src/public-api.ts","../../../projects/ng-viewer/src/lumiscaphe-ng-viewer.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { Encoder, Hotspot, Parameters, Scene, View, Viewer, WRAPIv2, WidgetVRCube, WidgetVRObject } from '@lumiscaphe/viewer';\n\n@Component({\n selector: 'NgViewer',\n templateUrl: './ng-viewer.component.html',\n styleUrls: ['./ng-viewer.component.scss']\n})\nexport class NgViewerComponent implements AfterViewInit, OnChanges, OnDestroy {\n public viewer: Viewer | undefined;\n\n public hotspots2D: Hotspot[] = [];\n\n @Input() server: string | undefined;\n @Input() api: string | undefined;\n @Input() fit: 'contain' | 'cover' | 'fill' | undefined;\n @Input() scene: Scene | undefined;\n @Input() encoder: Encoder | undefined;\n @Input() parameters: Parameters | undefined;\n @Input() view: View | undefined;\n @Input() vrcube: Partial<WidgetVRCube> | undefined;\n @Input() vrobject: Partial<WidgetVRObject> | undefined;\n @Input() hotspots: Array<string | WRAPIv2.Vector3D> | undefined;\n @Input() hotspotTemplateRef: TemplateRef<any> | null = null;\n @Input() hotspotsFilter: ((hotspots: Hotspot[]) => Hotspot[]) | undefined;\n\n @Output() onLoadStart = new EventEmitter();\n @Output() onLoadProgress = new EventEmitter();\n @Output() onLoadEnd = new EventEmitter();\n @Output() onLoadError = new EventEmitter();\n @Output() onInteraction = new EventEmitter();\n @Output() onVrcubeInteraction = new EventEmitter();\n @Output() onVrobjectInteraction = new EventEmitter();\n\n @ViewChild('container') container!: ElementRef;\n\n ngAfterViewInit() {\n this.viewer = new Viewer(this.container.nativeElement, {\n server: this.server,\n api: this.api || 'v1',\n fit: this.fit || 'cover',\n events: {\n onLoadStart: (...args: any[]) => {\n this.onLoadStart.emit(...args);\n },\n onLoadProgress: (...args: any[]) => {\n this.onLoadProgress.emit(...args);\n },\n onLoadEnd: (...args: any[]) => {\n this.onLoadEnd.emit(...args);\n },\n onLoadError: (...args: any[]) => {\n this.onLoadError.emit(...args);\n },\n onHotspotsChange: this.onHotspotsChange.bind(this),\n onInteraction: (...args: any[]) => {\n this.onInteraction.emit(...args);\n },\n onVrcubeInteraction: (...args: any[]) => {\n this.onVrcubeInteraction.emit(...args);\n },\n onVrobjectInteraction: (...args: any[]) => {\n this.onVrobjectInteraction.emit(...args);\n }\n }\n });\n\n if (this.scene) {\n this.viewer.load(this.scene).catch(() => {});\n }\n\n if (this.encoder) {\n this.viewer.setEncoder(this.encoder).catch(() => {});\n }\n\n if (this.hotspots) {\n this.viewer.setHotspots(this.hotspots);\n }\n\n if (this.parameters) {\n this.viewer.setParameters(this.parameters).catch(() => {});\n }\n\n if (this.view) {\n this.viewer.setView(this.view).catch(() => {});\n }\n\n if (this.vrcube) {\n this.viewer.setVrcube(this.vrcube);\n }\n\n if (this.vrobject) {\n this.viewer.setVrobject(this.vrobject);\n }\n }\n\n ngOnDestroy(): void {\n this.viewer?.destroy();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.viewer) {\n return;\n }\n\n if (changes['scene'] && changes['scene'].currentValue) {\n this.viewer.load(changes['scene'].currentValue).catch(() => {});\n }\n\n if (changes['encoder'] && changes['encoder'].currentValue) {\n this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => {});\n }\n\n if (changes['hotspots'] && changes['hotspots'].currentValue) {\n this.viewer.setHotspots(changes['hotspots'].currentValue);\n }\n\n if (changes['parameters'] && changes['parameters'].currentValue) {\n this.viewer.setParameters(changes['parameters'].currentValue).catch(() => {});\n }\n\n if (changes['view'] && changes['view'].currentValue) {\n this.viewer.setView(changes['view'].currentValue).catch(() => {});\n }\n\n if (changes['vrcube'] && changes['vrcube'].currentValue) {\n this.viewer.setVrcube(changes['vrcube'].currentValue);\n }\n\n if (changes['vrobject'] && changes['vrobject'].currentValue) {\n this.viewer.setVrobject(changes['vrobject'].currentValue);\n }\n }\n\n async pick(position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResponse | undefined> {\n return this.viewer?.pick(position);\n }\n\n snapshot(type: string, quality: number): string | undefined {\n return this.viewer?.snapshot(type, quality);\n }\n\n hotspotStyle(hotspot: Hotspot): { left: string; top: string; position: string } {\n return {\n position: 'absolute',\n top: hotspot.position2D.y + 'px',\n left: hotspot.position2D.x + 'px'\n };\n }\n\n onHotspotsChange(hotspots: Hotspot[]): void {\n this.hotspots2D = hotspots;\n\n if (this.hotspotsFilter !== undefined) {\n this.hotspots2D = this.hotspotsFilter(this.hotspots2D);\n }\n }\n}\n","<div #container></div>\n\n<div class=\"position-absolute w-100 h-100\" style=\"pointer-events: none\" *ngIf=\"hotspots2D.length\">\n <ng-container *ngFor=\"let hotspot of hotspots2D; index as i\">\n <div [ngStyle]=\"hotspotStyle(hotspot)\">\n <ng-container *ngTemplateOutlet=\"hotspotTemplateRef; context: { $implicit: hotspot, index: i }\"></ng-container>\n </div>\n </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { NgViewerComponent } from './ng-viewer.component';\n\n@NgModule({\n declarations: [\n NgViewerComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NgViewerComponent\n ]\n})\n\nexport class NgViewerModule { }\n","/*\n * Public API Surface of ng-viewer\n */\n\nexport * from './lib/ng-viewer.component';\nexport * from './lib/ng-viewer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@lumiscaphe/ng-viewer" />
5
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@lumiscaphe/ng-viewer" />
5
+ export * from './public-api';
@@ -1,52 +1,40 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
2
- import { Encoder, Hotspot, Parameters, Scene, View, Viewer, WidgetVRCube, WidgetVRObject } from '@lumiscaphe/viewer';
3
- import * as i0 from "@angular/core";
4
- export declare class NgViewerComponent implements AfterViewInit, OnChanges, OnDestroy {
5
- viewer: Viewer | undefined;
6
- hotspots: Hotspot[];
7
- server: string | undefined;
8
- api: string | undefined;
9
- fit: 'contain' | 'cover' | 'fill' | undefined;
10
- scene: Scene | undefined;
11
- encoder: Encoder | undefined;
12
- parameters: Parameters | undefined;
13
- view: View | undefined;
14
- vrcube: Partial<WidgetVRCube> | undefined;
15
- vrobject: Partial<WidgetVRObject> | undefined;
16
- tags: string[] | undefined;
17
- hotspotTemplateRef: TemplateRef<any> | null;
18
- hotspotsFilter: ((hotspots: Hotspot[]) => Hotspot[]) | undefined;
19
- onLoadStart: EventEmitter<any>;
20
- onLoadProgress: EventEmitter<any>;
21
- onLoadEnd: EventEmitter<any>;
22
- onLoadError: EventEmitter<any>;
23
- onInteraction: EventEmitter<any>;
24
- onVrcubeInteraction: EventEmitter<any>;
25
- onVrobjectInteraction: EventEmitter<any>;
26
- container: ElementRef;
27
- ngAfterViewInit(): void;
28
- ngOnDestroy(): void;
29
- ngOnChanges(changes: SimpleChanges): void;
30
- onHotspotsChange(hotspots: Hotspot[]): void;
31
- snapshot(type: string, quality: number): string | undefined;
32
- fitPosition: {
33
- width: number;
34
- height: number;
35
- top: number;
36
- left: number;
37
- };
38
- resolution: {
39
- width: number;
40
- height: number;
41
- } | undefined;
42
- scaleX: number;
43
- scaleY: number;
44
- onResize(): void;
45
- hotspotStyle(hotspot: Hotspot): {
46
- left: string;
47
- top: string;
48
- position: string;
49
- };
50
- static ɵfac: i0.ɵɵFactoryDeclaration<NgViewerComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<NgViewerComponent, "NgViewer", never, { "server": "server"; "api": "api"; "fit": "fit"; "scene": "scene"; "encoder": "encoder"; "parameters": "parameters"; "view": "view"; "vrcube": "vrcube"; "vrobject": "vrobject"; "tags": "tags"; "hotspotTemplateRef": "hotspotTemplateRef"; "hotspotsFilter": "hotspotsFilter"; }, { "onLoadStart": "onLoadStart"; "onLoadProgress": "onLoadProgress"; "onLoadEnd": "onLoadEnd"; "onLoadError": "onLoadError"; "onInteraction": "onInteraction"; "onVrcubeInteraction": "onVrcubeInteraction"; "onVrobjectInteraction": "onVrobjectInteraction"; }, never, never, false, never>;
52
- }
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import { Encoder, Hotspot, Parameters, Scene, View, Viewer, WRAPIv2, WidgetVRCube, WidgetVRObject } from '@lumiscaphe/viewer';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NgViewerComponent implements AfterViewInit, OnChanges, OnDestroy {
5
+ viewer: Viewer | undefined;
6
+ hotspots2D: Hotspot[];
7
+ server: string | undefined;
8
+ api: string | undefined;
9
+ fit: 'contain' | 'cover' | 'fill' | undefined;
10
+ scene: Scene | undefined;
11
+ encoder: Encoder | undefined;
12
+ parameters: Parameters | undefined;
13
+ view: View | undefined;
14
+ vrcube: Partial<WidgetVRCube> | undefined;
15
+ vrobject: Partial<WidgetVRObject> | undefined;
16
+ hotspots: Array<string | WRAPIv2.Vector3D> | undefined;
17
+ hotspotTemplateRef: TemplateRef<any> | null;
18
+ hotspotsFilter: ((hotspots: Hotspot[]) => Hotspot[]) | undefined;
19
+ onLoadStart: EventEmitter<any>;
20
+ onLoadProgress: EventEmitter<any>;
21
+ onLoadEnd: EventEmitter<any>;
22
+ onLoadError: EventEmitter<any>;
23
+ onInteraction: EventEmitter<any>;
24
+ onVrcubeInteraction: EventEmitter<any>;
25
+ onVrobjectInteraction: EventEmitter<any>;
26
+ container: ElementRef;
27
+ ngAfterViewInit(): void;
28
+ ngOnDestroy(): void;
29
+ ngOnChanges(changes: SimpleChanges): void;
30
+ pick(position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResponse | undefined>;
31
+ snapshot(type: string, quality: number): string | undefined;
32
+ hotspotStyle(hotspot: Hotspot): {
33
+ left: string;
34
+ top: string;
35
+ position: string;
36
+ };
37
+ onHotspotsChange(hotspots: Hotspot[]): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgViewerComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgViewerComponent, "NgViewer", never, { "server": { "alias": "server"; "required": false; }; "api": { "alias": "api"; "required": false; }; "fit": { "alias": "fit"; "required": false; }; "scene": { "alias": "scene"; "required": false; }; "encoder": { "alias": "encoder"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "view": { "alias": "view"; "required": false; }; "vrcube": { "alias": "vrcube"; "required": false; }; "vrobject": { "alias": "vrobject"; "required": false; }; "hotspots": { "alias": "hotspots"; "required": false; }; "hotspotTemplateRef": { "alias": "hotspotTemplateRef"; "required": false; }; "hotspotsFilter": { "alias": "hotspotsFilter"; "required": false; }; }, { "onLoadStart": "onLoadStart"; "onLoadProgress": "onLoadProgress"; "onLoadEnd": "onLoadEnd"; "onLoadError": "onLoadError"; "onInteraction": "onInteraction"; "onVrcubeInteraction": "onVrcubeInteraction"; "onVrobjectInteraction": "onVrobjectInteraction"; }, never, never, false, never>;
40
+ }
@@ -1,8 +1,8 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./ng-viewer.component";
3
- import * as i2 from "@angular/common";
4
- export declare class NgViewerModule {
5
- static ɵfac: i0.ɵɵFactoryDeclaration<NgViewerModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgViewerModule, [typeof i1.NgViewerComponent], [typeof i2.CommonModule], [typeof i1.NgViewerComponent]>;
7
- static ɵinj: i0.ɵɵInjectorDeclaration<NgViewerModule>;
8
- }
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./ng-viewer.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class NgViewerModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgViewerModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgViewerModule, [typeof i1.NgViewerComponent], [typeof i2.CommonModule], [typeof i1.NgViewerComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgViewerModule>;
8
+ }