@rasterex/viewer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +279 -0
  3. package/SECURITY.md +54 -0
  4. package/dist/RasterexViewer.d.ts +70 -0
  5. package/dist/RasterexViewer.d.ts.map +1 -0
  6. package/dist/RasterexViewer.js +410 -0
  7. package/dist/RasterexViewer.js.map +1 -0
  8. package/dist/compat/matrix.d.ts +9 -0
  9. package/dist/compat/matrix.d.ts.map +1 -0
  10. package/dist/compat/matrix.js +12 -0
  11. package/dist/compat/matrix.js.map +1 -0
  12. package/dist/constants.d.ts +8 -0
  13. package/dist/constants.d.ts.map +1 -0
  14. package/dist/constants.js +8 -0
  15. package/dist/constants.js.map +1 -0
  16. package/dist/createDocumentViewer.d.ts +8 -0
  17. package/dist/createDocumentViewer.d.ts.map +1 -0
  18. package/dist/createDocumentViewer.js +16 -0
  19. package/dist/createDocumentViewer.js.map +1 -0
  20. package/dist/createViewer.d.ts +4 -0
  21. package/dist/createViewer.d.ts.map +1 -0
  22. package/dist/createViewer.js +5 -0
  23. package/dist/createViewer.js.map +1 -0
  24. package/dist/demo-presets.d.ts +45 -0
  25. package/dist/demo-presets.d.ts.map +1 -0
  26. package/dist/demo-presets.js +22 -0
  27. package/dist/demo-presets.js.map +1 -0
  28. package/dist/demoPresets.d.ts +2 -0
  29. package/dist/demoPresets.d.ts.map +1 -0
  30. package/dist/demoPresets.js +2 -0
  31. package/dist/demoPresets.js.map +1 -0
  32. package/dist/diagnostics.d.ts +76 -0
  33. package/dist/diagnostics.d.ts.map +1 -0
  34. package/dist/diagnostics.js +38 -0
  35. package/dist/diagnostics.js.map +1 -0
  36. package/dist/domains/AnnotationsApi.d.ts +139 -0
  37. package/dist/domains/AnnotationsApi.d.ts.map +1 -0
  38. package/dist/domains/AnnotationsApi.js +256 -0
  39. package/dist/domains/AnnotationsApi.js.map +1 -0
  40. package/dist/domains/BlocksApi.d.ts +151 -0
  41. package/dist/domains/BlocksApi.d.ts.map +1 -0
  42. package/dist/domains/BlocksApi.js +191 -0
  43. package/dist/domains/BlocksApi.js.map +1 -0
  44. package/dist/domains/CanvasApi.d.ts +13 -0
  45. package/dist/domains/CanvasApi.d.ts.map +1 -0
  46. package/dist/domains/CanvasApi.js +22 -0
  47. package/dist/domains/CanvasApi.js.map +1 -0
  48. package/dist/domains/CollaborationApi.d.ts +65 -0
  49. package/dist/domains/CollaborationApi.d.ts.map +1 -0
  50. package/dist/domains/CollaborationApi.js +177 -0
  51. package/dist/domains/CollaborationApi.js.map +1 -0
  52. package/dist/domains/CompareApi.d.ts +73 -0
  53. package/dist/domains/CompareApi.d.ts.map +1 -0
  54. package/dist/domains/CompareApi.js +175 -0
  55. package/dist/domains/CompareApi.js.map +1 -0
  56. package/dist/domains/DocumentsApi.d.ts +175 -0
  57. package/dist/domains/DocumentsApi.d.ts.map +1 -0
  58. package/dist/domains/DocumentsApi.js +407 -0
  59. package/dist/domains/DocumentsApi.js.map +1 -0
  60. package/dist/domains/LayersApi.d.ts +76 -0
  61. package/dist/domains/LayersApi.d.ts.map +1 -0
  62. package/dist/domains/LayersApi.js +159 -0
  63. package/dist/domains/LayersApi.js.map +1 -0
  64. package/dist/domains/MeasurementsApi.d.ts +150 -0
  65. package/dist/domains/MeasurementsApi.d.ts.map +1 -0
  66. package/dist/domains/MeasurementsApi.js +388 -0
  67. package/dist/domains/MeasurementsApi.js.map +1 -0
  68. package/dist/domains/StylesApi.d.ts +50 -0
  69. package/dist/domains/StylesApi.d.ts.map +1 -0
  70. package/dist/domains/StylesApi.js +53 -0
  71. package/dist/domains/StylesApi.js.map +1 -0
  72. package/dist/domains/ToolsApi.d.ts +251 -0
  73. package/dist/domains/ToolsApi.d.ts.map +1 -0
  74. package/dist/domains/ToolsApi.js +275 -0
  75. package/dist/domains/ToolsApi.js.map +1 -0
  76. package/dist/domains/canvasBrokerCommands.d.ts +38 -0
  77. package/dist/domains/canvasBrokerCommands.d.ts.map +1 -0
  78. package/dist/domains/canvasBrokerCommands.js +79 -0
  79. package/dist/domains/canvasBrokerCommands.js.map +1 -0
  80. package/dist/errors.d.ts +28 -0
  81. package/dist/errors.d.ts.map +1 -0
  82. package/dist/errors.js +82 -0
  83. package/dist/errors.js.map +1 -0
  84. package/dist/index.d.ts +45 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.js +26 -0
  87. package/dist/index.js.map +1 -0
  88. package/dist/messaging/CanvasMessageBroker.d.ts +36 -0
  89. package/dist/messaging/CanvasMessageBroker.d.ts.map +1 -0
  90. package/dist/messaging/CanvasMessageBroker.js +95 -0
  91. package/dist/messaging/CanvasMessageBroker.js.map +1 -0
  92. package/dist/messaging/IframeTransport.d.ts +29 -0
  93. package/dist/messaging/IframeTransport.d.ts.map +1 -0
  94. package/dist/messaging/IframeTransport.js +74 -0
  95. package/dist/messaging/IframeTransport.js.map +1 -0
  96. package/dist/messaging/MessageClient.d.ts +32 -0
  97. package/dist/messaging/MessageClient.d.ts.map +1 -0
  98. package/dist/messaging/MessageClient.js +110 -0
  99. package/dist/messaging/MessageClient.js.map +1 -0
  100. package/dist/messaging/ViewerMessagingSession.d.ts +17 -0
  101. package/dist/messaging/ViewerMessagingSession.d.ts.map +1 -0
  102. package/dist/messaging/ViewerMessagingSession.js +17 -0
  103. package/dist/messaging/ViewerMessagingSession.js.map +1 -0
  104. package/dist/protocol/capabilities.d.ts +6 -0
  105. package/dist/protocol/capabilities.d.ts.map +1 -0
  106. package/dist/protocol/capabilities.js +5 -0
  107. package/dist/protocol/capabilities.js.map +1 -0
  108. package/dist/protocol/compatibility.d.ts +7 -0
  109. package/dist/protocol/compatibility.d.ts.map +1 -0
  110. package/dist/protocol/compatibility.js +2 -0
  111. package/dist/protocol/compatibility.js.map +1 -0
  112. package/dist/protocol/constants.d.ts +3 -0
  113. package/dist/protocol/constants.d.ts.map +1 -0
  114. package/dist/protocol/constants.js +3 -0
  115. package/dist/protocol/constants.js.map +1 -0
  116. package/dist/protocol/envelope.d.ts +27 -0
  117. package/dist/protocol/envelope.d.ts.map +1 -0
  118. package/dist/protocol/envelope.js +2 -0
  119. package/dist/protocol/envelope.js.map +1 -0
  120. package/dist/protocol/errors.d.ts +42 -0
  121. package/dist/protocol/errors.d.ts.map +1 -0
  122. package/dist/protocol/errors.js +35 -0
  123. package/dist/protocol/errors.js.map +1 -0
  124. package/dist/protocol/handshake.d.ts +13 -0
  125. package/dist/protocol/handshake.d.ts.map +1 -0
  126. package/dist/protocol/handshake.js +2 -0
  127. package/dist/protocol/handshake.js.map +1 -0
  128. package/dist/protocol/index.d.ts +10 -0
  129. package/dist/protocol/index.d.ts.map +1 -0
  130. package/dist/protocol/index.js +5 -0
  131. package/dist/protocol/index.js.map +1 -0
  132. package/dist/types.d.ts +29 -0
  133. package/dist/types.d.ts.map +1 -0
  134. package/dist/types.js +2 -0
  135. package/dist/types.js.map +1 -0
  136. package/dist/utils/DomainEventEmitter.d.ts +12 -0
  137. package/dist/utils/DomainEventEmitter.d.ts.map +1 -0
  138. package/dist/utils/DomainEventEmitter.js +34 -0
  139. package/dist/utils/DomainEventEmitter.js.map +1 -0
  140. package/dist/utils/compatibility.d.ts +15 -0
  141. package/dist/utils/compatibility.d.ts.map +1 -0
  142. package/dist/utils/compatibility.js +170 -0
  143. package/dist/utils/compatibility.js.map +1 -0
  144. package/dist/utils/createRequestId.d.ts +2 -0
  145. package/dist/utils/createRequestId.d.ts.map +1 -0
  146. package/dist/utils/createRequestId.js +6 -0
  147. package/dist/utils/createRequestId.js.map +1 -0
  148. package/dist/utils/createSdkInstanceId.d.ts +2 -0
  149. package/dist/utils/createSdkInstanceId.d.ts.map +1 -0
  150. package/dist/utils/createSdkInstanceId.js +6 -0
  151. package/dist/utils/createSdkInstanceId.js.map +1 -0
  152. package/dist/utils/deriveOrigin.d.ts +2 -0
  153. package/dist/utils/deriveOrigin.d.ts.map +1 -0
  154. package/dist/utils/deriveOrigin.js +4 -0
  155. package/dist/utils/deriveOrigin.js.map +1 -0
  156. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayersApi.js","sourceRoot":"","sources":["../../src/domains/LayersApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { type DomainEventHandler, type DomainEventUnsubscribe } from "../utils/DomainEventEmitter.js";
2
+ import type { CanvasMessageBroker } from "../messaging/CanvasMessageBroker.js";
3
+ export type MeasurementScaleUnitSystem = "0" | "1" | "METRIC" | "IMPERIAL" | 0 | 1 | 2;
4
+ export type MeasurementScaleMetricUnit = "Millimeter" | "Centimeter" | "Decimeter" | "Meter" | "Kilometer";
5
+ export type MeasurementScaleImperialUnit = "Inch" | "Feet" | "Yard" | "Mile" | "Nautical Miles";
6
+ export type MeasurementScaleUnit = MeasurementScaleMetricUnit | MeasurementScaleImperialUnit;
7
+ export type MeasurementScalePageRange = [number, number];
8
+ export interface MeasurementScale {
9
+ label: string;
10
+ value: string;
11
+ preciseValue?: number;
12
+ metric: MeasurementScaleUnitSystem;
13
+ metricUnit: MeasurementScaleUnit;
14
+ dimPrecision: number;
15
+ isSelected: boolean;
16
+ isGlobal?: boolean;
17
+ pageRanges?: MeasurementScalePageRange[];
18
+ source?: string;
19
+ imperialNumerator?: number;
20
+ imperialDenominator?: number;
21
+ }
22
+ export interface AddMeasurementScaleOptions {
23
+ fileIndex?: number;
24
+ scale: MeasurementScale;
25
+ }
26
+ export interface GetMeasurementScalesOptions {
27
+ fileIndex?: number;
28
+ timeoutMs?: number;
29
+ }
30
+ export interface RequestMeasurementScalesOptions {
31
+ fileIndex?: number;
32
+ }
33
+ export interface MeasurementScalesSnapshot {
34
+ fileIndex?: number;
35
+ fileName?: string;
36
+ selectedLabel?: string;
37
+ scales: MeasurementScale[];
38
+ [key: string]: unknown;
39
+ }
40
+ export interface MeasurementScaleEventMap {
41
+ snapshot: MeasurementScalesSnapshot;
42
+ }
43
+ export type MeasurementScaleEventName = keyof MeasurementScaleEventMap;
44
+ export type MeasurementScaleEventHandler<TEventName extends MeasurementScaleEventName> = DomainEventHandler<MeasurementScaleEventMap[TEventName]>;
45
+ export type MeasurementScaleEventUnsubscribe = DomainEventUnsubscribe;
46
+ export type CalibrationMeasurementSystem = 1 | 2;
47
+ export interface CalibrationStartOptions {
48
+ requestId?: string;
49
+ fileIndex?: number;
50
+ }
51
+ export interface CalibrationCancelOptions {
52
+ requestId?: string;
53
+ fileIndex?: number;
54
+ }
55
+ export interface CalibrationFinishedEvent {
56
+ requestId?: string;
57
+ fileIndex?: number;
58
+ fileName?: string;
59
+ isFinished: boolean;
60
+ measuredLength?: string | number;
61
+ [key: string]: unknown;
62
+ }
63
+ export interface CalibrationMetricSetOptions {
64
+ requestId?: string;
65
+ fileIndex?: number;
66
+ measurementSystem: 1;
67
+ metricUnit: MeasurementScaleMetricUnit;
68
+ calibrateCorrectionMetricValue: number | string;
69
+ dimPrecision: number;
70
+ pageRanges?: MeasurementScalePageRange[];
71
+ totalPages?: number;
72
+ timeoutMs?: number;
73
+ }
74
+ export interface CalibrationImperialSetOptions {
75
+ requestId?: string;
76
+ fileIndex?: number;
77
+ measurementSystem: 2;
78
+ calibrateCorrectionFeetValue?: number | string;
79
+ calibrateCorrectionInchValue?: number | string;
80
+ dimPrecision: number;
81
+ pageRanges?: MeasurementScalePageRange[];
82
+ totalPages?: number;
83
+ timeoutMs?: number;
84
+ }
85
+ export type CalibrationSetOptions = CalibrationMetricSetOptions | CalibrationImperialSetOptions;
86
+ export interface CalibrationScaleCalculatedEvent {
87
+ requestId?: string;
88
+ fileIndex?: number;
89
+ fileName?: string;
90
+ scale: MeasurementScale;
91
+ [key: string]: unknown;
92
+ }
93
+ export interface CalibrationApplyOptions {
94
+ requestId?: string;
95
+ fileIndex?: number;
96
+ scale?: MeasurementScale;
97
+ timeoutMs?: number;
98
+ }
99
+ export interface MeasurementCalibrationEventMap {
100
+ finished: CalibrationFinishedEvent;
101
+ scaleCalculated: CalibrationScaleCalculatedEvent;
102
+ }
103
+ export type MeasurementCalibrationEventName = keyof MeasurementCalibrationEventMap;
104
+ export type MeasurementCalibrationEventHandler<TEventName extends MeasurementCalibrationEventName> = DomainEventHandler<MeasurementCalibrationEventMap[TEventName]>;
105
+ export type MeasurementCalibrationEventUnsubscribe = DomainEventUnsubscribe;
106
+ export interface MeasurementsApiOptions {
107
+ getBroker: () => CanvasMessageBroker | null;
108
+ getIsReady: () => boolean;
109
+ commandTimeoutMs: number;
110
+ }
111
+ export declare class MeasurementsApi {
112
+ readonly scale: MeasurementScaleApi;
113
+ readonly calibration: MeasurementCalibrationApi;
114
+ constructor(options: MeasurementsApiOptions);
115
+ connect(): void;
116
+ disconnect(): void;
117
+ }
118
+ export declare class MeasurementScaleApi {
119
+ private readonly options;
120
+ private readonly events;
121
+ private broker;
122
+ private brokerCleanups;
123
+ constructor(options: MeasurementsApiOptions);
124
+ on<TEventName extends MeasurementScaleEventName>(eventName: TEventName, handler: MeasurementScaleEventHandler<TEventName>): MeasurementScaleEventUnsubscribe;
125
+ connect(): void;
126
+ disconnect(): void;
127
+ request(options?: RequestMeasurementScalesOptions): void;
128
+ get(options?: GetMeasurementScalesOptions): Promise<MeasurementScalesSnapshot>;
129
+ add(options: AddMeasurementScaleOptions): void;
130
+ }
131
+ export declare class MeasurementCalibrationApi {
132
+ private readonly options;
133
+ private readonly events;
134
+ private broker;
135
+ private brokerCleanups;
136
+ private activeRequestId;
137
+ constructor(options: MeasurementsApiOptions);
138
+ on<TEventName extends MeasurementCalibrationEventName>(eventName: TEventName, handler: MeasurementCalibrationEventHandler<TEventName>): MeasurementCalibrationEventUnsubscribe;
139
+ connect(): void;
140
+ disconnect(): void;
141
+ start(options?: CalibrationStartOptions): string;
142
+ calculate(options: CalibrationSetOptions): Promise<CalibrationScaleCalculatedEvent>;
143
+ apply(options?: CalibrationApplyOptions): Promise<MeasurementScalesSnapshot>;
144
+ cancel(options?: CalibrationCancelOptions): void;
145
+ private createCalibrationSetPayload;
146
+ private validateCommonCalibrationSet;
147
+ private requireAvailableRequest;
148
+ private clearActiveRequest;
149
+ }
150
+ //# sourceMappingURL=MeasurementsApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementsApi.d.ts","sourceRoot":"","sources":["../../src/domains/MeasurementsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,388 @@
1
+ import { DomainEventEmitter } from "../utils/DomainEventEmitter.js";
2
+ import { createCanvasCommandError, requireReadyBroker } from "./canvasBrokerCommands.js";
3
+ import { createCommandTimeoutError } from "../errors.js";
4
+ import { createRequestId } from "../utils/createRequestId.js";
5
+ export class MeasurementsApi {
6
+ constructor(options) {
7
+ this.scale = new MeasurementScaleApi(options);
8
+ this.calibration = new MeasurementCalibrationApi(options);
9
+ }
10
+ connect() {
11
+ this.scale.connect();
12
+ this.calibration.connect();
13
+ }
14
+ disconnect() {
15
+ this.scale.disconnect();
16
+ this.calibration.disconnect();
17
+ }
18
+ }
19
+ export class MeasurementScaleApi {
20
+ constructor(options) {
21
+ this.events = new DomainEventEmitter();
22
+ this.broker = null;
23
+ this.brokerCleanups = [];
24
+ this.options = options;
25
+ }
26
+ on(eventName, handler) {
27
+ this.connect();
28
+ return this.events.on(eventName, handler);
29
+ }
30
+ connect() {
31
+ const broker = this.options.getBroker();
32
+ if (!broker || broker === this.broker) {
33
+ return;
34
+ }
35
+ this.disconnect();
36
+ this.broker = broker;
37
+ this.brokerCleanups = [
38
+ broker.on("scalesSnapshot", (message) => {
39
+ if (isMeasurementScalesSnapshot(message.payload)) {
40
+ this.events.emit("snapshot", message.payload);
41
+ }
42
+ })
43
+ ];
44
+ }
45
+ disconnect() {
46
+ for (const cleanup of this.brokerCleanups) {
47
+ cleanup();
48
+ }
49
+ this.brokerCleanups = [];
50
+ this.broker = null;
51
+ }
52
+ request(options = {}) {
53
+ requireReadyBroker({
54
+ ...this.options,
55
+ type: "getScales",
56
+ apiName: "viewer.measurements.scale"
57
+ }).send("getScales", {
58
+ fileIndex: options.fileIndex
59
+ });
60
+ }
61
+ get(options = {}) {
62
+ const broker = requireReadyBroker({
63
+ ...this.options,
64
+ type: "getScales",
65
+ apiName: "viewer.measurements.scale"
66
+ });
67
+ const timeoutMs = options.timeoutMs ?? this.options.commandTimeoutMs;
68
+ return new Promise((resolve, reject) => {
69
+ const cleanup = broker.on("scalesSnapshot", (message) => {
70
+ if (!isMeasurementScalesSnapshot(message.payload)) {
71
+ return;
72
+ }
73
+ if (typeof options.fileIndex === "number" &&
74
+ typeof message.payload.fileIndex === "number" &&
75
+ message.payload.fileIndex !== options.fileIndex) {
76
+ return;
77
+ }
78
+ globalThis.clearTimeout(timeoutId);
79
+ cleanup();
80
+ resolve(message.payload);
81
+ });
82
+ const timeoutId = globalThis.setTimeout(() => {
83
+ cleanup();
84
+ reject(createCommandTimeoutError("scalesSnapshot", "getScales", timeoutMs));
85
+ }, timeoutMs);
86
+ broker.send("getScales", {
87
+ fileIndex: options.fileIndex
88
+ });
89
+ });
90
+ }
91
+ add(options) {
92
+ if (!isMeasurementScale(options.scale)) {
93
+ throw createCanvasCommandError("addScale", "Measurement scale requires label, value, metric, metricUnit, dimPrecision, and isSelected.", {
94
+ scale: options.scale
95
+ });
96
+ }
97
+ requireReadyBroker({
98
+ ...this.options,
99
+ type: "addScale",
100
+ apiName: "viewer.measurements.scale"
101
+ }).send("addScale", {
102
+ fileIndex: options.fileIndex,
103
+ scale: options.scale
104
+ });
105
+ }
106
+ }
107
+ export class MeasurementCalibrationApi {
108
+ constructor(options) {
109
+ this.events = new DomainEventEmitter();
110
+ this.broker = null;
111
+ this.brokerCleanups = [];
112
+ this.activeRequestId = null;
113
+ this.options = options;
114
+ }
115
+ on(eventName, handler) {
116
+ this.connect();
117
+ return this.events.on(eventName, handler);
118
+ }
119
+ connect() {
120
+ const broker = this.options.getBroker();
121
+ if (!broker || broker === this.broker) {
122
+ return;
123
+ }
124
+ this.disconnect();
125
+ this.broker = broker;
126
+ this.brokerCleanups = [
127
+ broker.on("calibrationFinished", (message) => {
128
+ if (isCalibrationFinishedEvent(message.payload)) {
129
+ this.events.emit("finished", message.payload);
130
+ }
131
+ }),
132
+ broker.on("calibrationScaleCalculated", (message) => {
133
+ if (isCalibrationScaleCalculatedEvent(message.payload)) {
134
+ this.events.emit("scaleCalculated", message.payload);
135
+ }
136
+ })
137
+ ];
138
+ }
139
+ disconnect() {
140
+ for (const cleanup of this.brokerCleanups) {
141
+ cleanup();
142
+ }
143
+ this.brokerCleanups = [];
144
+ this.broker = null;
145
+ }
146
+ start(options = {}) {
147
+ const requestId = options.requestId ?? createRequestId();
148
+ this.requireAvailableRequest(requestId, "startCalibrationV2");
149
+ requireReadyBroker({
150
+ ...this.options,
151
+ type: "startCalibrationV2",
152
+ apiName: "viewer.measurements.calibration"
153
+ }).send("startCalibrationV2", {
154
+ requestId,
155
+ fileIndex: options.fileIndex
156
+ });
157
+ this.activeRequestId = requestId;
158
+ return requestId;
159
+ }
160
+ calculate(options) {
161
+ const broker = requireReadyBroker({
162
+ ...this.options,
163
+ type: "setCalibrationV2",
164
+ apiName: "viewer.measurements.calibration"
165
+ });
166
+ const requestId = options.requestId ?? createRequestId();
167
+ const timeoutMs = options.timeoutMs ?? this.options.commandTimeoutMs;
168
+ this.requireAvailableRequest(requestId, "setCalibrationV2");
169
+ const payload = this.createCalibrationSetPayload(options, requestId);
170
+ this.activeRequestId = requestId;
171
+ return new Promise((resolve, reject) => {
172
+ const cleanup = broker.on("calibrationScaleCalculated", (message) => {
173
+ if (!isCalibrationScaleCalculatedEvent(message.payload)) {
174
+ return;
175
+ }
176
+ if (message.payload.requestId && message.payload.requestId !== requestId) {
177
+ return;
178
+ }
179
+ globalThis.clearTimeout(timeoutId);
180
+ cleanup();
181
+ resolve(message.payload);
182
+ });
183
+ const timeoutId = globalThis.setTimeout(() => {
184
+ cleanup();
185
+ this.clearActiveRequest(requestId);
186
+ reject(createCommandTimeoutError(requestId, "setCalibrationV2", timeoutMs));
187
+ }, timeoutMs);
188
+ broker.send("setCalibrationV2", payload);
189
+ });
190
+ }
191
+ apply(options = {}) {
192
+ const broker = requireReadyBroker({
193
+ ...this.options,
194
+ type: "addCalibrationScaleV2",
195
+ apiName: "viewer.measurements.calibration"
196
+ });
197
+ const requestId = options.requestId ?? createRequestId();
198
+ const timeoutMs = options.timeoutMs ?? this.options.commandTimeoutMs;
199
+ this.requireAvailableRequest(requestId, "addCalibrationScaleV2");
200
+ if (options.scale && !isMeasurementScale(options.scale)) {
201
+ throw createCanvasCommandError("addCalibrationScaleV2", "Calibration apply scale requires label, value, metric, metricUnit, dimPrecision, and isSelected.", {
202
+ scale: options.scale
203
+ });
204
+ }
205
+ this.activeRequestId = requestId;
206
+ return new Promise((resolve, reject) => {
207
+ const cleanup = broker.on("scalesSnapshot", (message) => {
208
+ if (!isMeasurementScalesSnapshot(message.payload)) {
209
+ return;
210
+ }
211
+ if (typeof options.fileIndex === "number" &&
212
+ typeof message.payload.fileIndex === "number" &&
213
+ message.payload.fileIndex !== options.fileIndex) {
214
+ return;
215
+ }
216
+ globalThis.clearTimeout(timeoutId);
217
+ cleanup();
218
+ this.clearActiveRequest(requestId);
219
+ resolve(message.payload);
220
+ });
221
+ const timeoutId = globalThis.setTimeout(() => {
222
+ cleanup();
223
+ this.clearActiveRequest(requestId);
224
+ reject(createCommandTimeoutError(requestId, "addCalibrationScaleV2", timeoutMs));
225
+ }, timeoutMs);
226
+ broker.send("addCalibrationScaleV2");
227
+ });
228
+ }
229
+ cancel(options = {}) {
230
+ requireReadyBroker({
231
+ ...this.options,
232
+ type: "cancelCalibration",
233
+ apiName: "viewer.measurements.calibration"
234
+ }).send("cancelCalibration", {
235
+ requestId: options.requestId,
236
+ fileIndex: options.fileIndex
237
+ });
238
+ if (!options.requestId || options.requestId === this.activeRequestId) {
239
+ this.activeRequestId = null;
240
+ }
241
+ }
242
+ createCalibrationSetPayload(options, requestId) {
243
+ this.validateCommonCalibrationSet(options);
244
+ if (options.measurementSystem === 1) {
245
+ if (!isMetricUnit(options.metricUnit)) {
246
+ throw createCanvasCommandError("setCalibrationV2", "Metric calibration requires a supported metricUnit.", {
247
+ options
248
+ });
249
+ }
250
+ const metricValue = parseFiniteNumber(options.calibrateCorrectionMetricValue);
251
+ if (metricValue === null || metricValue <= 0) {
252
+ throw createCanvasCommandError("setCalibrationV2", "Metric calibration requires a positive finite calibrateCorrectionMetricValue.", {
253
+ options
254
+ });
255
+ }
256
+ return {
257
+ requestId,
258
+ fileIndex: options.fileIndex,
259
+ measurementSystem: 1,
260
+ metricUnit: options.metricUnit,
261
+ calibrateCorrectionMetricValue: metricValue,
262
+ dimPrecision: options.dimPrecision,
263
+ precision: options.dimPrecision,
264
+ precisionValue: options.dimPrecision,
265
+ pageRanges: options.pageRanges,
266
+ totalPages: options.totalPages
267
+ };
268
+ }
269
+ const feet = parseFiniteNumber(options.calibrateCorrectionFeetValue);
270
+ const inches = parseFiniteNumber(options.calibrateCorrectionInchValue);
271
+ if ((options.calibrateCorrectionFeetValue !== undefined && feet === null) ||
272
+ (options.calibrateCorrectionInchValue !== undefined && inches === null) ||
273
+ (feet !== null && feet < 0) ||
274
+ (inches !== null && inches < 0)) {
275
+ throw createCanvasCommandError("setCalibrationV2", "Imperial calibration feet and inches must be finite non-negative numbers.", {
276
+ options
277
+ });
278
+ }
279
+ if ((feet ?? 0) <= 0 && (inches ?? 0) <= 0) {
280
+ throw createCanvasCommandError("setCalibrationV2", "Imperial calibration requires calibrateCorrectionFeetValue or calibrateCorrectionInchValue greater than zero.", {
281
+ options
282
+ });
283
+ }
284
+ return {
285
+ requestId,
286
+ fileIndex: options.fileIndex,
287
+ measurementSystem: 2,
288
+ calibrateCorrectionFeetValue: feet ?? undefined,
289
+ calibrateCorrectionInchValue: inches ?? undefined,
290
+ dimPrecision: options.dimPrecision,
291
+ precision: options.dimPrecision,
292
+ precisionValue: options.dimPrecision,
293
+ pageRanges: options.pageRanges,
294
+ totalPages: options.totalPages
295
+ };
296
+ }
297
+ validateCommonCalibrationSet(options) {
298
+ if (!Number.isInteger(options.dimPrecision) || options.dimPrecision < 0) {
299
+ throw createCanvasCommandError("setCalibrationV2", "Calibration dimPrecision must be a non-negative integer.", {
300
+ options
301
+ });
302
+ }
303
+ if (options.totalPages !== undefined &&
304
+ (!Number.isInteger(options.totalPages) || options.totalPages < 1)) {
305
+ throw createCanvasCommandError("setCalibrationV2", "Calibration totalPages must be a positive integer when provided.", {
306
+ options
307
+ });
308
+ }
309
+ if (!options.pageRanges) {
310
+ return;
311
+ }
312
+ for (const pageRange of options.pageRanges) {
313
+ const [start, end] = pageRange;
314
+ if (!Array.isArray(pageRange) ||
315
+ pageRange.length !== 2 ||
316
+ !Number.isInteger(start) ||
317
+ !Number.isInteger(end) ||
318
+ start < 1 ||
319
+ end < start ||
320
+ (options.totalPages !== undefined && end > options.totalPages)) {
321
+ throw createCanvasCommandError("setCalibrationV2", "Calibration pageRanges must contain 1-based inclusive [start, end] integer ranges within totalPages when provided.", {
322
+ options
323
+ });
324
+ }
325
+ }
326
+ }
327
+ requireAvailableRequest(requestId, type) {
328
+ if (this.activeRequestId && this.activeRequestId !== requestId) {
329
+ throw createCanvasCommandError(type, "Only one measurement calibration flow can be active for a viewer iframe.", {
330
+ activeRequestId: this.activeRequestId,
331
+ requestId
332
+ });
333
+ }
334
+ }
335
+ clearActiveRequest(requestId) {
336
+ if (this.activeRequestId === requestId) {
337
+ this.activeRequestId = null;
338
+ }
339
+ }
340
+ }
341
+ function isMeasurementScalesSnapshot(payload) {
342
+ return !!payload && typeof payload === "object" && Array.isArray(payload.scales);
343
+ }
344
+ function isMeasurementScale(scale) {
345
+ return (!!scale &&
346
+ typeof scale.label === "string" &&
347
+ typeof scale.value === "string" &&
348
+ isMeasurementScaleUnitSystem(scale.metric) &&
349
+ typeof scale.metricUnit === "string" &&
350
+ typeof scale.dimPrecision === "number" &&
351
+ typeof scale.isSelected === "boolean");
352
+ }
353
+ function isMeasurementScaleUnitSystem(metric) {
354
+ return (metric === "0" ||
355
+ metric === "1" ||
356
+ metric === "METRIC" ||
357
+ metric === "IMPERIAL" ||
358
+ metric === 0 ||
359
+ metric === 1 ||
360
+ metric === 2);
361
+ }
362
+ function isMetricUnit(unit) {
363
+ return (unit === "Millimeter" ||
364
+ unit === "Centimeter" ||
365
+ unit === "Decimeter" ||
366
+ unit === "Meter" ||
367
+ unit === "Kilometer");
368
+ }
369
+ function parseFiniteNumber(value) {
370
+ if (value === undefined) {
371
+ return null;
372
+ }
373
+ if (typeof value === "number") {
374
+ return Number.isFinite(value) ? value : null;
375
+ }
376
+ if (typeof value !== "string" || value.trim() === "") {
377
+ return null;
378
+ }
379
+ const parsedValue = Number(value);
380
+ return Number.isFinite(parsedValue) ? parsedValue : null;
381
+ }
382
+ function isCalibrationFinishedEvent(payload) {
383
+ return !!payload && typeof payload === "object" && payload.isFinished === true;
384
+ }
385
+ function isCalibrationScaleCalculatedEvent(payload) {
386
+ return !!payload && typeof payload === "object" && isMeasurementScale(payload.scale);
387
+ }
388
+ //# sourceMappingURL=MeasurementsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementsApi.js","sourceRoot":"","sources":["../../src/domains/MeasurementsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { CanvasMessageBroker } from "../messaging/CanvasMessageBroker.js";
2
+ export interface GlobalAppearanceOptions {
3
+ strokeColor?: string;
4
+ fillColor?: string;
5
+ textColor?: string;
6
+ lineWidth?: number;
7
+ lineStyle?: number;
8
+ transparency?: number;
9
+ }
10
+ export interface AnnotationProperties {
11
+ strokeColor?: string;
12
+ fillColor?: string;
13
+ textColor?: string;
14
+ lineWidth?: number;
15
+ lineStyle?: number;
16
+ transparency?: number;
17
+ locked?: boolean;
18
+ text?: string;
19
+ countType?: number;
20
+ arrowType?: number;
21
+ measureType?: number;
22
+ }
23
+ export interface GetAnnotationPropertiesOptions {
24
+ guid: string;
25
+ timeoutMs?: number;
26
+ }
27
+ export interface SetAnnotationPropertiesOptions {
28
+ guid: string;
29
+ props: AnnotationProperties;
30
+ }
31
+ export interface AnnotationPropertiesResult {
32
+ guid: string;
33
+ success: boolean;
34
+ props?: AnnotationProperties;
35
+ error?: string;
36
+ [key: string]: unknown;
37
+ }
38
+ export interface StylesApiOptions {
39
+ getBroker: () => CanvasMessageBroker | null;
40
+ getIsReady: () => boolean;
41
+ commandTimeoutMs: number;
42
+ }
43
+ export declare class StylesApi {
44
+ private readonly options;
45
+ constructor(options: StylesApiOptions);
46
+ setGlobalAppearance(options: GlobalAppearanceOptions): void;
47
+ getAnnotationProperties(options: GetAnnotationPropertiesOptions): Promise<AnnotationPropertiesResult>;
48
+ setAnnotationProperties(options: SetAnnotationPropertiesOptions): void;
49
+ }
50
+ //# sourceMappingURL=StylesApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StylesApi.d.ts","sourceRoot":"","sources":["../../src/domains/StylesApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAO/E,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC5C,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBAE/B,OAAO,EAAE,gBAAgB;IAIrC,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAS3D,uBAAuB,CACrB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,0BAA0B,CAAC;IAmCtC,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI;CAWvE"}