@rasterex/viewer 1.0.0 → 1.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.
Files changed (170) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -21
  3. package/dist/RasterexViewer.d.ts +11 -11
  4. package/dist/RasterexViewer.d.ts.map +1 -1
  5. package/dist/RasterexViewer.js +13 -11
  6. package/dist/RasterexViewer.js.map +1 -1
  7. package/dist/constants.d.ts +3 -3
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +3 -3
  10. package/dist/constants.js.map +1 -1
  11. package/dist/createDocumentViewer.d.ts +8 -3
  12. package/dist/createDocumentViewer.d.ts.map +1 -1
  13. package/dist/createDocumentViewer.js.map +1 -1
  14. package/dist/createViewer.d.ts +1 -1
  15. package/dist/createViewer.d.ts.map +1 -1
  16. package/dist/domains/annotations/AnnotationsApi.d.ts +27 -0
  17. package/dist/domains/annotations/AnnotationsApi.d.ts.map +1 -0
  18. package/dist/domains/{AnnotationsApi.js → annotations/AnnotationsApi.js} +5 -5
  19. package/dist/domains/annotations/AnnotationsApi.js.map +1 -0
  20. package/dist/domains/annotations/internalTypes.d.ts +27 -0
  21. package/dist/domains/annotations/internalTypes.d.ts.map +1 -0
  22. package/dist/domains/annotations/internalTypes.js +2 -0
  23. package/dist/domains/annotations/internalTypes.js.map +1 -0
  24. package/dist/domains/{AnnotationsApi.d.ts → annotations/types.d.ts} +3 -27
  25. package/dist/domains/annotations/types.d.ts.map +1 -0
  26. package/dist/domains/annotations/types.js.map +1 -0
  27. package/dist/domains/blocks/BlocksApi.d.ts +27 -0
  28. package/dist/domains/blocks/BlocksApi.d.ts.map +1 -0
  29. package/dist/domains/{BlocksApi.js → blocks/BlocksApi.js} +4 -4
  30. package/dist/domains/blocks/BlocksApi.js.map +1 -0
  31. package/dist/domains/{BlocksApi.d.ts → blocks/types.d.ts} +3 -27
  32. package/dist/domains/blocks/types.d.ts.map +1 -0
  33. package/dist/domains/blocks/types.js +2 -0
  34. package/dist/domains/blocks/types.js.map +1 -0
  35. package/dist/domains/{CanvasApi.d.ts → canvas/CanvasApi.d.ts} +3 -4
  36. package/dist/domains/canvas/CanvasApi.d.ts.map +1 -0
  37. package/dist/domains/{CanvasApi.js → canvas/CanvasApi.js} +1 -1
  38. package/dist/domains/canvas/CanvasApi.js.map +1 -0
  39. package/dist/domains/{canvasBrokerCommands.d.ts → canvas/canvasBrokerCommands.d.ts} +2 -2
  40. package/dist/domains/canvas/canvasBrokerCommands.d.ts.map +1 -0
  41. package/dist/domains/{canvasBrokerCommands.js → canvas/canvasBrokerCommands.js} +2 -2
  42. package/dist/domains/canvas/canvasBrokerCommands.js.map +1 -0
  43. package/dist/domains/canvas/types.d.ts +5 -0
  44. package/dist/domains/canvas/types.d.ts.map +1 -0
  45. package/dist/domains/canvas/types.js +2 -0
  46. package/dist/domains/canvas/types.js.map +1 -0
  47. package/dist/domains/collaboration/CollaborationApi.d.ts +22 -0
  48. package/dist/domains/collaboration/CollaborationApi.d.ts.map +1 -0
  49. package/dist/domains/{CollaborationApi.js → collaboration/CollaborationApi.js} +3 -3
  50. package/dist/domains/collaboration/CollaborationApi.js.map +1 -0
  51. package/dist/domains/{CollaborationApi.d.ts → collaboration/types.d.ts} +3 -22
  52. package/dist/domains/collaboration/types.d.ts.map +1 -0
  53. package/dist/domains/collaboration/types.js +2 -0
  54. package/dist/domains/collaboration/types.js.map +1 -0
  55. package/dist/domains/compare/CompareApi.d.ts +27 -0
  56. package/dist/domains/compare/CompareApi.d.ts.map +1 -0
  57. package/dist/domains/{CompareApi.js → compare/CompareApi.js} +71 -10
  58. package/dist/domains/compare/CompareApi.js.map +1 -0
  59. package/dist/domains/compare/internalTypes.d.ts +7 -0
  60. package/dist/domains/compare/internalTypes.d.ts.map +1 -0
  61. package/dist/domains/compare/internalTypes.js +2 -0
  62. package/dist/domains/compare/internalTypes.js.map +1 -0
  63. package/dist/domains/{CompareApi.d.ts → compare/types.d.ts} +6 -19
  64. package/dist/domains/compare/types.d.ts.map +1 -0
  65. package/dist/domains/compare/types.js +2 -0
  66. package/dist/domains/compare/types.js.map +1 -0
  67. package/dist/domains/documents/DocumentsApi.d.ts +39 -0
  68. package/dist/domains/documents/DocumentsApi.d.ts.map +1 -0
  69. package/dist/domains/{DocumentsApi.js → documents/DocumentsApi.js} +50 -150
  70. package/dist/domains/documents/DocumentsApi.js.map +1 -0
  71. package/dist/domains/documents/openLifecycle.d.ts +26 -0
  72. package/dist/domains/documents/openLifecycle.d.ts.map +1 -0
  73. package/dist/domains/documents/openLifecycle.js +114 -0
  74. package/dist/domains/documents/openLifecycle.js.map +1 -0
  75. package/dist/domains/documents/pageManipulation.d.ts +4 -0
  76. package/dist/domains/documents/pageManipulation.d.ts.map +1 -0
  77. package/dist/domains/documents/pageManipulation.js +57 -0
  78. package/dist/domains/documents/pageManipulation.js.map +1 -0
  79. package/dist/domains/{DocumentsApi.d.ts → documents/types.d.ts} +23 -38
  80. package/dist/domains/documents/types.d.ts.map +1 -0
  81. package/dist/domains/documents/types.js +2 -0
  82. package/dist/domains/documents/types.js.map +1 -0
  83. package/dist/domains/layers/LayersApi.d.ts +24 -0
  84. package/dist/domains/layers/LayersApi.d.ts.map +1 -0
  85. package/dist/domains/{LayersApi.js → layers/LayersApi.js} +4 -4
  86. package/dist/domains/layers/LayersApi.js.map +1 -0
  87. package/dist/domains/{LayersApi.d.ts → layers/types.d.ts} +3 -24
  88. package/dist/domains/layers/types.d.ts.map +1 -0
  89. package/dist/domains/layers/types.js +2 -0
  90. package/dist/domains/layers/types.js.map +1 -0
  91. package/dist/domains/measurements/MeasurementsApi.d.ts +41 -0
  92. package/dist/domains/measurements/MeasurementsApi.d.ts.map +1 -0
  93. package/dist/domains/{MeasurementsApi.js → measurements/MeasurementsApi.js} +59 -139
  94. package/dist/domains/measurements/MeasurementsApi.js.map +1 -0
  95. package/dist/domains/measurements/types.d.ts +124 -0
  96. package/dist/domains/measurements/types.d.ts.map +1 -0
  97. package/dist/domains/measurements/types.js +2 -0
  98. package/dist/domains/measurements/types.js.map +1 -0
  99. package/dist/domains/styles/StylesApi.d.ts +10 -0
  100. package/dist/domains/styles/StylesApi.d.ts.map +1 -0
  101. package/dist/domains/{StylesApi.js → styles/StylesApi.js} +2 -2
  102. package/dist/domains/styles/StylesApi.js.map +1 -0
  103. package/dist/domains/{StylesApi.d.ts → styles/types.d.ts} +2 -9
  104. package/dist/domains/styles/types.d.ts.map +1 -0
  105. package/dist/domains/styles/types.js +2 -0
  106. package/dist/domains/styles/types.js.map +1 -0
  107. package/dist/domains/tools/ToolsApi.d.ts +25 -0
  108. package/dist/domains/tools/ToolsApi.d.ts.map +1 -0
  109. package/dist/domains/tools/ToolsApi.js +57 -0
  110. package/dist/domains/tools/ToolsApi.js.map +1 -0
  111. package/dist/domains/tools/ToolsNavigationApi.d.ts +11 -0
  112. package/dist/domains/tools/ToolsNavigationApi.d.ts.map +1 -0
  113. package/dist/domains/tools/ToolsNavigationApi.js +38 -0
  114. package/dist/domains/tools/ToolsNavigationApi.js.map +1 -0
  115. package/dist/domains/tools/ToolsStampsApi.d.ts +20 -0
  116. package/dist/domains/tools/ToolsStampsApi.d.ts.map +1 -0
  117. package/dist/domains/tools/ToolsStampsApi.js +43 -0
  118. package/dist/domains/tools/ToolsStampsApi.js.map +1 -0
  119. package/dist/domains/tools/ToolsSymbolsApi.d.ts +19 -0
  120. package/dist/domains/tools/ToolsSymbolsApi.d.ts.map +1 -0
  121. package/dist/domains/tools/ToolsSymbolsApi.js +29 -0
  122. package/dist/domains/tools/ToolsSymbolsApi.js.map +1 -0
  123. package/dist/domains/tools/ToolsThreeDApi.d.ts +21 -0
  124. package/dist/domains/tools/ToolsThreeDApi.d.ts.map +1 -0
  125. package/dist/domains/tools/ToolsThreeDApi.js +82 -0
  126. package/dist/domains/tools/ToolsThreeDApi.js.map +1 -0
  127. package/dist/domains/tools/ToolsToolbarApi.d.ts +11 -0
  128. package/dist/domains/tools/ToolsToolbarApi.d.ts.map +1 -0
  129. package/dist/domains/tools/ToolsToolbarApi.js +43 -0
  130. package/dist/domains/tools/ToolsToolbarApi.js.map +1 -0
  131. package/dist/domains/{ToolsApi.d.ts → tools/types.d.ts} +3 -91
  132. package/dist/domains/tools/types.d.ts.map +1 -0
  133. package/dist/domains/tools/types.js +2 -0
  134. package/dist/domains/tools/types.js.map +1 -0
  135. package/dist/index.d.ts +22 -22
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +10 -10
  138. package/dist/index.js.map +1 -1
  139. package/dist/{types.d.ts → types/index.d.ts} +2 -2
  140. package/dist/types/index.d.ts.map +1 -0
  141. package/dist/types/index.js +2 -0
  142. package/dist/types/index.js.map +1 -0
  143. package/package.json +99 -46
  144. package/dist/domains/AnnotationsApi.d.ts.map +0 -1
  145. package/dist/domains/AnnotationsApi.js.map +0 -1
  146. package/dist/domains/BlocksApi.d.ts.map +0 -1
  147. package/dist/domains/BlocksApi.js.map +0 -1
  148. package/dist/domains/CanvasApi.d.ts.map +0 -1
  149. package/dist/domains/CanvasApi.js.map +0 -1
  150. package/dist/domains/CollaborationApi.d.ts.map +0 -1
  151. package/dist/domains/CollaborationApi.js.map +0 -1
  152. package/dist/domains/CompareApi.d.ts.map +0 -1
  153. package/dist/domains/CompareApi.js.map +0 -1
  154. package/dist/domains/DocumentsApi.d.ts.map +0 -1
  155. package/dist/domains/DocumentsApi.js.map +0 -1
  156. package/dist/domains/LayersApi.d.ts.map +0 -1
  157. package/dist/domains/LayersApi.js.map +0 -1
  158. package/dist/domains/MeasurementsApi.d.ts +0 -150
  159. package/dist/domains/MeasurementsApi.d.ts.map +0 -1
  160. package/dist/domains/MeasurementsApi.js.map +0 -1
  161. package/dist/domains/StylesApi.d.ts.map +0 -1
  162. package/dist/domains/StylesApi.js.map +0 -1
  163. package/dist/domains/ToolsApi.d.ts.map +0 -1
  164. package/dist/domains/ToolsApi.js +0 -275
  165. package/dist/domains/ToolsApi.js.map +0 -1
  166. package/dist/domains/canvasBrokerCommands.d.ts.map +0 -1
  167. package/dist/domains/canvasBrokerCommands.js.map +0 -1
  168. package/dist/types.d.ts.map +0 -1
  169. package/dist/types.js.map +0 -1
  170. /package/dist/{types.js → domains/annotations/types.js} +0 -0
@@ -0,0 +1,24 @@
1
+ import type { GetLayersOptions, LayersApiOptions, LayersEventHandler, LayersEventName, LayersEventUnsubscribe, LayersSnapshot, SetLayerVisibilityOptions } from "./types.js";
2
+ export type * from "./types.js";
3
+ export declare class LayersApi {
4
+ private readonly options;
5
+ private readonly events;
6
+ private broker;
7
+ private brokerCleanups;
8
+ constructor(options: LayersApiOptions);
9
+ on<TEventName extends LayersEventName>(eventName: TEventName, handler: LayersEventHandler<TEventName>): LayersEventUnsubscribe;
10
+ connect(): void;
11
+ disconnect(): void;
12
+ getLayers(options?: GetLayersOptions): Promise<LayersSnapshot>;
13
+ setVisibility(options: SetLayerVisibilityOptions): Promise<LayersSnapshot>;
14
+ setLayerVisibility(options: SetLayerVisibilityOptions): Promise<LayersSnapshot>;
15
+ private sendAndWaitForSnapshot;
16
+ private validateSetVisibilityOptions;
17
+ private validateNumber;
18
+ private validateNumberArray;
19
+ private validateId;
20
+ private validateIdArray;
21
+ private validateText;
22
+ private validateTextArray;
23
+ }
24
+ //# sourceMappingURL=LayersApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayersApi.d.ts","sourceRoot":"","sources":["../../../src/domains/layers/LayersApi.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAElB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC;AAEhC,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,cAAc,CAAkC;gBAE5C,OAAO,EAAE,gBAAgB;IAIrC,EAAE,CAAC,UAAU,SAAS,eAAe,EACnC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,GACtC,sBAAsB;IAKzB,OAAO,IAAI,IAAI;IAkBf,UAAU,IAAI,IAAI;IASlB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAWlE,aAAa,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB1E,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/E,OAAO,CAAC,sBAAsB;IAkC9B,OAAO,CAAC,4BAA4B;IA2CpC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,iBAAiB;CAmB1B"}
@@ -1,7 +1,7 @@
1
- import { createCommandTimeoutError } from "../errors.js";
2
- import { createRequestId } from "../utils/createRequestId.js";
3
- import { DomainEventEmitter } from "../utils/DomainEventEmitter.js";
4
- import { createCanvasCommandError, requireReadyBroker } from "./canvasBrokerCommands.js";
1
+ import { createCommandTimeoutError } from "../../errors.js";
2
+ import { createRequestId } from "../../utils/createRequestId.js";
3
+ import { DomainEventEmitter } from "../../utils/DomainEventEmitter.js";
4
+ import { createCanvasCommandError, requireReadyBroker } from "../canvas/canvasBrokerCommands.js";
5
5
  export class LayersApi {
6
6
  constructor(options) {
7
7
  this.events = new DomainEventEmitter();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayersApi.js","sourceRoot":"","sources":["../../../src/domains/layers/LayersApi.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { CanvasMessageBroker } from "../messaging/CanvasMessageBroker.js";
2
- import { type DomainEventHandler, type DomainEventUnsubscribe } from "../utils/DomainEventEmitter.js";
1
+ import type { CanvasMessageBroker } from "../../messaging/CanvasMessageBroker.js";
2
+ import type { DomainEventHandler, DomainEventUnsubscribe } from "../../utils/DomainEventEmitter.js";
3
3
  export type LayerKind = "vector" | "pdf";
4
4
  export interface LayerDetails {
5
5
  state?: number;
@@ -52,25 +52,4 @@ export interface LayersApiOptions {
52
52
  getIsReady: () => boolean;
53
53
  commandTimeoutMs: number;
54
54
  }
55
- export declare class LayersApi {
56
- private readonly options;
57
- private readonly events;
58
- private broker;
59
- private brokerCleanups;
60
- constructor(options: LayersApiOptions);
61
- on<TEventName extends LayersEventName>(eventName: TEventName, handler: LayersEventHandler<TEventName>): LayersEventUnsubscribe;
62
- connect(): void;
63
- disconnect(): void;
64
- getLayers(options?: GetLayersOptions): Promise<LayersSnapshot>;
65
- setVisibility(options: SetLayerVisibilityOptions): Promise<LayersSnapshot>;
66
- setLayerVisibility(options: SetLayerVisibilityOptions): Promise<LayersSnapshot>;
67
- private sendAndWaitForSnapshot;
68
- private validateSetVisibilityOptions;
69
- private validateNumber;
70
- private validateNumberArray;
71
- private validateId;
72
- private validateIdArray;
73
- private validateText;
74
- private validateTextArray;
75
- }
76
- //# sourceMappingURL=LayersApi.d.ts.map
55
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domains/layers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC;AACnD,MAAM,MAAM,kBAAkB,CAAC,UAAU,SAAS,eAAe,IAC/D,kBAAkB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AACjD,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC5C,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domains/layers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import type { AddMeasurementScaleOptions, CalibrationApplyOptions, CalibrationCancelOptions, CalibrationScaleCalculatedEvent, CalibrationSetOptions, CalibrationStartOptions, MeasurementCalibrationEventHandler, MeasurementCalibrationEventName, MeasurementCalibrationEventUnsubscribe, MeasurementScaleEventHandler, MeasurementScaleEventName, MeasurementScaleEventUnsubscribe, MeasurementScalesSnapshot, MeasurementsApiOptions, GetMeasurementScalesOptions, RequestMeasurementScalesOptions } from "./types.js";
2
+ export type * from "./types.js";
3
+ export declare class MeasurementsApi {
4
+ readonly scale: MeasurementScaleApi;
5
+ readonly calibration: MeasurementCalibrationApi;
6
+ constructor(options: MeasurementsApiOptions);
7
+ connect(): void;
8
+ disconnect(): void;
9
+ }
10
+ export declare class MeasurementScaleApi {
11
+ private readonly options;
12
+ private readonly events;
13
+ private broker;
14
+ private brokerCleanups;
15
+ constructor(options: MeasurementsApiOptions);
16
+ on<TEventName extends MeasurementScaleEventName>(eventName: TEventName, handler: MeasurementScaleEventHandler<TEventName>): MeasurementScaleEventUnsubscribe;
17
+ connect(): void;
18
+ disconnect(): void;
19
+ request(options?: RequestMeasurementScalesOptions): void;
20
+ get(options?: GetMeasurementScalesOptions): Promise<MeasurementScalesSnapshot>;
21
+ add(options: AddMeasurementScaleOptions): void;
22
+ }
23
+ export declare class MeasurementCalibrationApi {
24
+ private readonly options;
25
+ private readonly events;
26
+ private broker;
27
+ private brokerCleanups;
28
+ private activeRequestId;
29
+ constructor(options: MeasurementsApiOptions);
30
+ on<TEventName extends MeasurementCalibrationEventName>(eventName: TEventName, handler: MeasurementCalibrationEventHandler<TEventName>): MeasurementCalibrationEventUnsubscribe;
31
+ connect(): void;
32
+ disconnect(): void;
33
+ start(options?: CalibrationStartOptions): string;
34
+ calculate(options: CalibrationSetOptions): Promise<CalibrationScaleCalculatedEvent>;
35
+ apply(options?: CalibrationApplyOptions): Promise<MeasurementScalesSnapshot>;
36
+ cancel(options?: CalibrationCancelOptions): void;
37
+ private createCalibrationSetPayload;
38
+ private requireAvailableRequest;
39
+ private clearActiveRequest;
40
+ }
41
+ //# sourceMappingURL=MeasurementsApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementsApi.d.ts","sourceRoot":"","sources":["../../../src/domains/measurements/MeasurementsApi.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,0BAA0B,EAAE,uBAAuB,EAAE,wBAAwB,EACnD,+BAA+B,EAAE,qBAAqB,EAChF,uBAAuB,EAAE,kCAAkC,EAC3D,+BAA+B,EAAE,sCAAsC,EACvE,4BAA4B,EAA4B,yBAAyB,EACjF,gCAAgC,EAAyD,yBAAyB,EAClH,sBAAsB,EAAE,2BAA2B,EAAE,+BAA+B,EACrF,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC;AAyBhC,qBAAa,eAAe;IAC1B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;gBAEpC,OAAO,EAAE,sBAAsB;IAK3C,OAAO,IAAI,IAAI;IAKf,UAAU,IAAI,IAAI;CAInB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsD;IAC7E,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,cAAc,CAAkC;gBAE5C,OAAO,EAAE,sBAAsB;IAI3C,EAAE,CAAC,UAAU,SAAS,yBAAyB,EAC7C,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,4BAA4B,CAAC,UAAU,CAAC,GAChD,gCAAgC;IAKnC,OAAO,IAAI,IAAI;IAkBf,UAAU,IAAI,IAAI;IASlB,OAAO,CAAC,OAAO,GAAE,+BAAoC,GAAG,IAAI;IAU5D,GAAG,CAAC,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAsClF,GAAG,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;CAoB/C;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IACnF,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,eAAe,CAAuB;gBAElC,OAAO,EAAE,sBAAsB;IAI3C,EAAE,CAAC,UAAU,SAAS,+BAA+B,EACnD,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,kCAAkC,CAAC,UAAU,CAAC,GACtD,sCAAsC;IAKzC,OAAO,IAAI,IAAI;IA0Bf,UAAU,IAAI,IAAI;IASlB,KAAK,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM;IAyBpD,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAwCnF,KAAK,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAqChF,MAAM,CAAC,OAAO,GAAE,wBAA6B,GAAG,IAAI;IAgBpD,OAAO,CAAC,2BAA2B;IA4BnC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -1,7 +1,7 @@
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";
1
+ import { DomainEventEmitter } from "../../utils/DomainEventEmitter.js";
2
+ import { createCanvasCommandError, requireReadyBroker } from "../canvas/canvasBrokerCommands.js";
3
+ import { createCommandTimeoutError } from "../../errors.js";
4
+ import { createRequestId } from "../../utils/createRequestId.js";
5
5
  export class MeasurementsApi {
6
6
  constructor(options) {
7
7
  this.scale = new MeasurementScaleApi(options);
@@ -144,28 +144,35 @@ export class MeasurementCalibrationApi {
144
144
  this.broker = null;
145
145
  }
146
146
  start(options = {}) {
147
- const requestId = options.requestId ?? createRequestId();
148
- this.requireAvailableRequest(requestId, "startCalibrationV2");
147
+ const requestId = normalizeRequestId(options.requestId);
148
+ this.requireAvailableRequest(requestId, "calibrationStart");
149
149
  requireReadyBroker({
150
150
  ...this.options,
151
- type: "startCalibrationV2",
151
+ type: "calibrationStart",
152
152
  apiName: "viewer.measurements.calibration"
153
- }).send("startCalibrationV2", {
153
+ }).send("calibrationStart", omitUndefined({
154
154
  requestId,
155
- fileIndex: options.fileIndex
156
- });
155
+ fileIndex: options.fileIndex,
156
+ measurementSystem: options.measurementSystem,
157
+ metricType: options.metricType,
158
+ system: options.system,
159
+ metric: options.metric,
160
+ metricUnit: options.metricUnit,
161
+ unit: options.unit,
162
+ displayUnit: options.displayUnit
163
+ }));
157
164
  this.activeRequestId = requestId;
158
165
  return requestId;
159
166
  }
160
167
  calculate(options) {
161
168
  const broker = requireReadyBroker({
162
169
  ...this.options,
163
- type: "setCalibrationV2",
170
+ type: "calibrationSet",
164
171
  apiName: "viewer.measurements.calibration"
165
172
  });
166
- const requestId = options.requestId ?? createRequestId();
173
+ const requestId = normalizeRequestId(options.requestId);
167
174
  const timeoutMs = options.timeoutMs ?? this.options.commandTimeoutMs;
168
- this.requireAvailableRequest(requestId, "setCalibrationV2");
175
+ this.requireAvailableRequest(requestId, "calibrationSet");
169
176
  const payload = this.createCalibrationSetPayload(options, requestId);
170
177
  this.activeRequestId = requestId;
171
178
  return new Promise((resolve, reject) => {
@@ -183,36 +190,26 @@ export class MeasurementCalibrationApi {
183
190
  const timeoutId = globalThis.setTimeout(() => {
184
191
  cleanup();
185
192
  this.clearActiveRequest(requestId);
186
- reject(createCommandTimeoutError(requestId, "setCalibrationV2", timeoutMs));
193
+ reject(createCommandTimeoutError(requestId, "calibrationSet", timeoutMs));
187
194
  }, timeoutMs);
188
- broker.send("setCalibrationV2", payload);
195
+ broker.send("calibrationSet", payload);
189
196
  });
190
197
  }
191
198
  apply(options = {}) {
192
199
  const broker = requireReadyBroker({
193
200
  ...this.options,
194
- type: "addCalibrationScaleV2",
201
+ type: "calibrationAddScale",
195
202
  apiName: "viewer.measurements.calibration"
196
203
  });
197
- const requestId = options.requestId ?? createRequestId();
204
+ const requestId = normalizeRequestId(options.requestId);
198
205
  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
- }
206
+ this.requireAvailableRequest(requestId, "calibrationAddScale");
205
207
  this.activeRequestId = requestId;
206
208
  return new Promise((resolve, reject) => {
207
209
  const cleanup = broker.on("scalesSnapshot", (message) => {
208
210
  if (!isMeasurementScalesSnapshot(message.payload)) {
209
211
  return;
210
212
  }
211
- if (typeof options.fileIndex === "number" &&
212
- typeof message.payload.fileIndex === "number" &&
213
- message.payload.fileIndex !== options.fileIndex) {
214
- return;
215
- }
216
213
  globalThis.clearTimeout(timeoutId);
217
214
  cleanup();
218
215
  this.clearActiveRequest(requestId);
@@ -221,108 +218,50 @@ export class MeasurementCalibrationApi {
221
218
  const timeoutId = globalThis.setTimeout(() => {
222
219
  cleanup();
223
220
  this.clearActiveRequest(requestId);
224
- reject(createCommandTimeoutError(requestId, "addCalibrationScaleV2", timeoutMs));
221
+ reject(createCommandTimeoutError(requestId, "calibrationAddScale", timeoutMs));
225
222
  }, timeoutMs);
226
- broker.send("addCalibrationScaleV2");
223
+ broker.send("calibrationAddScale", omitUndefined({
224
+ requestId,
225
+ scale: options.scale
226
+ }));
227
227
  });
228
228
  }
229
229
  cancel(options = {}) {
230
+ const requestId = options.requestId?.trim() || undefined;
230
231
  requireReadyBroker({
231
232
  ...this.options,
232
- type: "cancelCalibration",
233
+ type: "calibrationCancel",
233
234
  apiName: "viewer.measurements.calibration"
234
- }).send("cancelCalibration", {
235
- requestId: options.requestId,
236
- fileIndex: options.fileIndex
237
- });
238
- if (!options.requestId || options.requestId === this.activeRequestId) {
235
+ }).send("calibrationCancel", omitUndefined({
236
+ requestId
237
+ }));
238
+ if (!requestId || requestId === this.activeRequestId) {
239
239
  this.activeRequestId = null;
240
240
  }
241
241
  }
242
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 {
243
+ return omitUndefined({
285
244
  requestId,
286
245
  fileIndex: options.fileIndex,
287
- measurementSystem: 2,
288
- calibrateCorrectionFeetValue: feet ?? undefined,
289
- calibrateCorrectionInchValue: inches ?? undefined,
246
+ measurementSystem: options.measurementSystem,
247
+ metricType: options.metricType,
248
+ system: options.system,
249
+ metric: options.metric,
250
+ metricUnit: options.metricUnit,
251
+ unit: options.unit,
252
+ displayUnit: options.displayUnit,
253
+ calibrateCorrectionMetricValue: options.calibrateCorrectionMetricValue,
254
+ calibrateLength: options.calibrateLength,
255
+ calibrateCorrectionFeetValue: options.calibrateCorrectionFeetValue,
256
+ feet: options.feet,
257
+ calibrateCorrectionInchValue: options.calibrateCorrectionInchValue,
258
+ inches: options.inches,
290
259
  dimPrecision: options.dimPrecision,
291
- precision: options.dimPrecision,
292
- precisionValue: options.dimPrecision,
260
+ precisionValue: options.precisionValue,
261
+ precision: options.precision,
293
262
  pageRanges: options.pageRanges,
294
263
  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
- }
264
+ });
326
265
  }
327
266
  requireAvailableRequest(requestId, type) {
328
267
  if (this.activeRequestId && this.activeRequestId !== requestId) {
@@ -351,33 +290,14 @@ function isMeasurementScale(scale) {
351
290
  typeof scale.isSelected === "boolean");
352
291
  }
353
292
  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);
293
+ return typeof metric === "string" || typeof metric === "number";
361
294
  }
362
- function isMetricUnit(unit) {
363
- return (unit === "Millimeter" ||
364
- unit === "Centimeter" ||
365
- unit === "Decimeter" ||
366
- unit === "Meter" ||
367
- unit === "Kilometer");
295
+ function omitUndefined(payload) {
296
+ return Object.fromEntries(Object.entries(payload).filter(([, value]) => value !== undefined));
368
297
  }
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;
298
+ function normalizeRequestId(requestId) {
299
+ const normalizedRequestId = requestId?.trim();
300
+ return normalizedRequestId || createRequestId();
381
301
  }
382
302
  function isCalibrationFinishedEvent(payload) {
383
303
  return !!payload && typeof payload === "object" && payload.isFinished === true;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeasurementsApi.js","sourceRoot":"","sources":["../../../src/domains/measurements/MeasurementsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAKvE,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAmCjE,MAAM,OAAO,eAAe;IAI1B,YAAY,OAA+B;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IAM9B,YAAY,OAA+B;QAJ1B,WAAM,GAAG,IAAI,kBAAkB,EAA4B,CAAC;QACrE,WAAM,GAA+B,IAAI,CAAC;QAC1C,mBAAc,GAA+B,EAAE,CAAC;QAGtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,EAAE,CACA,SAAqB,EACrB,OAAiD;QAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAExC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG;YACpB,MAAM,CAAC,EAAE,CAA4B,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;gBACjE,IAAI,2BAA2B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAED,UAAU;QACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,UAA2C,EAAE;QACnD,kBAAkB,CAAC;YACjB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,UAAuC,EAAE;QAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAErE,OAAO,IAAI,OAAO,CAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAA4B,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;gBACjF,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,IACE,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;oBACrC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ;oBAC7C,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAC/C,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9E,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,OAAmC;QACrC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,wBAAwB,CAC5B,UAAU,EACV,4FAA4F,EAC5F;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CACF,CAAC;QACJ,CAAC;QAED,kBAAkB,CAAC;YACjB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,yBAAyB;IAOpC,YAAY,OAA+B;QAL1B,WAAM,GAAG,IAAI,kBAAkB,EAAkC,CAAC;QAC3E,WAAM,GAA+B,IAAI,CAAC;QAC1C,mBAAc,GAA+B,EAAE,CAAC;QAChD,oBAAe,GAAkB,IAAI,CAAC;QAG5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,EAAE,CACA,SAAqB,EACrB,OAAuD;QAEvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAExC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG;YACpB,MAAM,CAAC,EAAE,CAA2B,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE;gBACrE,IAAI,0BAA0B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC;YACF,MAAM,CAAC,EAAE,CACP,4BAA4B,EAC5B,CAAC,OAAO,EAAE,EAAE;gBACV,IAAI,iCAAiC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC,CACF;SACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAmC,EAAE;QACzC,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAE5D,kBAAkB,CAAC;YACjB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC;YACxC,SAAS;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,OAA8B;QACtC,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACrE,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,OAAO,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CACvB,4BAA4B,EAC5B,CAAC,OAAO,EAAE,EAAE;gBACV,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,OAAO;gBACT,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACzE,OAAO;gBACT,CAAC;gBAED,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CACF,CAAC;YAEF,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,CAAC,yBAAyB,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5E,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAmC,EAAE;QACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACrE,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAE/D,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,OAAO,IAAI,OAAO,CAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAA4B,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE;gBACjF,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,CAAC,yBAAyB,CAAC,SAAS,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC,CAAC;YACjF,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,aAAa,CAAC;gBAC/C,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,UAAoC,EAAE;QAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAEzD,kBAAkB,CAAC;YACjB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;YACzC,SAAS;SACV,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,2BAA2B,CACjC,OAA8B,EAC9B,SAAiB;QAEjB,OAAO,aAAa,CAAC;YACnB,SAAS;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;YACtE,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,4BAA4B,EAAE,OAAO,CAAC,4BAA4B;YAClE,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,4BAA4B,EAAE,OAAO,CAAC,4BAA4B;YAClE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,SAAiB,EAAE,IAAY;QAC7D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC/D,MAAM,wBAAwB,CAC5B,IAAI,EACJ,0EAA0E,EAC1E;gBACE,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,SAAS;aACV,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,SAAiB;QAC1C,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAED,SAAS,2BAA2B,CAClC,OAA8C;IAE9C,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmC;IAC7D,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,MAAe;IAEf,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;AAClE,CAAC;AAED,SAAS,aAAa,CACpB,OAAiB;IAEjB,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACvD,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,SAA6B;IACvD,MAAM,mBAAmB,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,OAAO,mBAAmB,IAAI,eAAe,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,0BAA0B,CACjC,OAA6C;IAE7C,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,iCAAiC,CACxC,OAAoD;IAEpD,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,124 @@
1
+ import type { CanvasMessageBroker } from "../../messaging/CanvasMessageBroker.js";
2
+ import type { DomainEventHandler, DomainEventUnsubscribe } from "../../utils/DomainEventEmitter.js";
3
+ export type MeasurementScaleUnitSystem = string | number;
4
+ export type MeasurementScaleMetricUnit = "Millimeter" | "Centimeter" | "Decimeter" | "Meter" | "Kilometer";
5
+ export type MeasurementScaleImperialUnit = "Inch" | "Feet" | "Yard" | "Mile" | "Nautical Miles";
6
+ export type MeasurementScaleUnit = string;
7
+ export type MeasurementScalePageRange = 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<T extends MeasurementScaleEventName> = DomainEventHandler<MeasurementScaleEventMap[T]>;
45
+ export type MeasurementScaleEventUnsubscribe = DomainEventUnsubscribe;
46
+ export type CalibrationMeasurementSystem = string | number;
47
+ export interface CalibrationStartOptions {
48
+ requestId?: string;
49
+ fileIndex?: number;
50
+ measurementSystem?: CalibrationMeasurementSystem;
51
+ metricType?: CalibrationMeasurementSystem;
52
+ system?: CalibrationMeasurementSystem;
53
+ metric?: CalibrationMeasurementSystem;
54
+ metricUnit?: string;
55
+ unit?: string;
56
+ displayUnit?: string;
57
+ }
58
+ /** @deprecated Use CalibrationStartOptions. */
59
+ export type CalibrationMetricStartOptions = CalibrationStartOptions;
60
+ /** @deprecated Use CalibrationStartOptions. */
61
+ export type CalibrationImperialStartOptions = CalibrationStartOptions;
62
+ export interface CalibrationCancelOptions {
63
+ requestId?: string;
64
+ }
65
+ export interface CalibrationFinishedEvent {
66
+ requestId?: string;
67
+ fileIndex?: number;
68
+ fileName?: string;
69
+ isFinished: boolean;
70
+ measuredLength?: string | number;
71
+ [key: string]: unknown;
72
+ }
73
+ export interface CalibrationSetOptions {
74
+ requestId?: string;
75
+ fileIndex?: number;
76
+ measurementSystem?: CalibrationMeasurementSystem;
77
+ metricType?: CalibrationMeasurementSystem;
78
+ system?: CalibrationMeasurementSystem;
79
+ metric?: CalibrationMeasurementSystem;
80
+ metricUnit?: string;
81
+ unit?: string;
82
+ displayUnit?: string;
83
+ calibrateCorrectionMetricValue?: number | string;
84
+ calibrateLength?: number | string;
85
+ calibrateCorrectionFeetValue?: number | string;
86
+ feet?: number | string;
87
+ calibrateCorrectionInchValue?: number | string;
88
+ inches?: number | string;
89
+ dimPrecision?: number;
90
+ precisionValue?: number;
91
+ precision?: number;
92
+ pageRanges?: MeasurementScalePageRange[];
93
+ totalPages?: number;
94
+ timeoutMs?: number;
95
+ }
96
+ /** @deprecated Use CalibrationSetOptions. */
97
+ export type CalibrationMetricSetOptions = CalibrationSetOptions;
98
+ /** @deprecated Use CalibrationSetOptions. */
99
+ export type CalibrationImperialSetOptions = CalibrationSetOptions;
100
+ export interface CalibrationScaleCalculatedEvent {
101
+ requestId?: string;
102
+ fileIndex?: number;
103
+ fileName?: string;
104
+ scale: MeasurementScale;
105
+ [key: string]: unknown;
106
+ }
107
+ export interface CalibrationApplyOptions {
108
+ requestId?: string;
109
+ scale?: Partial<MeasurementScale>;
110
+ timeoutMs?: number;
111
+ }
112
+ export interface MeasurementCalibrationEventMap {
113
+ finished: CalibrationFinishedEvent;
114
+ scaleCalculated: CalibrationScaleCalculatedEvent;
115
+ }
116
+ export type MeasurementCalibrationEventName = keyof MeasurementCalibrationEventMap;
117
+ export type MeasurementCalibrationEventHandler<T extends MeasurementCalibrationEventName> = DomainEventHandler<MeasurementCalibrationEventMap[T]>;
118
+ export type MeasurementCalibrationEventUnsubscribe = DomainEventUnsubscribe;
119
+ export interface MeasurementsApiOptions {
120
+ getBroker: () => CanvasMessageBroker | null;
121
+ getIsReady: () => boolean;
122
+ commandTimeoutMs: number;
123
+ }
124
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domains/measurements/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domains/measurements/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { AnnotationPropertiesResult, GetAnnotationPropertiesOptions, GlobalAppearanceOptions, SetAnnotationPropertiesOptions, StylesApiOptions } from "./types.js";
2
+ export type * from "./types.js";
3
+ export declare class StylesApi {
4
+ private readonly options;
5
+ constructor(options: StylesApiOptions);
6
+ setGlobalAppearance(options: GlobalAppearanceOptions): void;
7
+ getAnnotationProperties(options: GetAnnotationPropertiesOptions): Promise<AnnotationPropertiesResult>;
8
+ setAnnotationProperties(options: SetAnnotationPropertiesOptions): void;
9
+ }
10
+ //# sourceMappingURL=StylesApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StylesApi.d.ts","sourceRoot":"","sources":["../../../src/domains/styles/StylesApi.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC;AAEhC,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"}
@@ -1,5 +1,5 @@
1
- import { createCommandTimeoutError } from "../errors.js";
2
- import { requireReadyBroker, sendCanvasFireAndForget } from "./canvasBrokerCommands.js";
1
+ import { createCommandTimeoutError } from "../../errors.js";
2
+ import { requireReadyBroker, sendCanvasFireAndForget } from "../canvas/canvasBrokerCommands.js";
3
3
  export class StylesApi {
4
4
  constructor(options) {
5
5
  this.options = options;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StylesApi.js","sourceRoot":"","sources":["../../../src/domains/styles/StylesApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAU3C,MAAM,OAAO,SAAS;IAGpB,YAAY,OAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,OAAgC;QAClD,uBAAuB,CAAC;YACtB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CACrB,OAAuC;QAEvC,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAErE,OAAO,IAAI,OAAO,CAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CACvB,sBAAsB,EACtB,CAAC,OAAO,EAAE,EAAE;gBACV,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAEhC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBAED,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CACF,CAAC;YAEF,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAAC,CAAC,CAAC;YACxF,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,OAAuC;QAC7D,uBAAuB,CAAC;YACtB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;YACD,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;CACF"}