@baron1996/klinecharts-adapter 0.1.1 → 0.2.2

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 (35) hide show
  1. package/dist/adapter.d.ts +40 -1
  2. package/dist/adapter.d.ts.map +1 -1
  3. package/dist/adapter.js +488 -21
  4. package/dist/conversion/overlays.d.ts +3 -0
  5. package/dist/conversion/overlays.d.ts.map +1 -1
  6. package/dist/conversion/overlays.js +2 -0
  7. package/dist/conversion/panes.d.ts +3 -1
  8. package/dist/conversion/panes.d.ts.map +1 -1
  9. package/dist/conversion/panes.js +7 -1
  10. package/dist/engine.d.ts.map +1 -1
  11. package/dist/engine.js +3 -3
  12. package/dist/extensions/price-measurement.d.ts +13 -0
  13. package/dist/extensions/price-measurement.d.ts.map +1 -0
  14. package/dist/extensions/price-measurement.js +64 -0
  15. package/dist/extensions/register.d.ts.map +1 -1
  16. package/dist/extensions/register.js +2 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -0
  20. package/dist/interaction/dragging.d.ts +12 -0
  21. package/dist/interaction/dragging.d.ts.map +1 -0
  22. package/dist/interaction/dragging.js +71 -0
  23. package/dist/interaction/hit-testing.d.ts +26 -0
  24. package/dist/interaction/hit-testing.d.ts.map +1 -0
  25. package/dist/interaction/hit-testing.js +86 -0
  26. package/dist/interaction/selection-arbitration.d.ts +6 -0
  27. package/dist/interaction/selection-arbitration.d.ts.map +1 -0
  28. package/dist/interaction/selection-arbitration.js +10 -0
  29. package/dist/registry/overlays.d.ts +2 -2
  30. package/dist/registry/overlays.d.ts.map +1 -1
  31. package/dist/registry/overlays.js +1 -0
  32. package/dist/version.d.ts +3 -2
  33. package/dist/version.d.ts.map +1 -1
  34. package/dist/version.js +3 -2
  35. package/package.json +2 -2
package/dist/adapter.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import type { ChartScene, SceneIndicator, SceneOverlay } from '@baron1996/kline-scene-schema';
2
2
  import { SceneError } from '@baron1996/kline-scene-schema';
3
3
  import { type OverlayDrawingSource } from './conversion/overlays.js';
4
+ import { type OverlayHitResult, type PixelCoordinate } from './interaction/hit-testing.js';
5
+ export type PriceScale = 'linear' | 'logarithmic';
6
+ export type AdapterDragTarget = 'body' | 'anchor';
7
+ export type AdapterDragCancelReason = 'escape' | 'pointer-cancel' | 'window-blur' | 'destroy' | 'validation-error';
4
8
  export interface AdapterIndicatorSnapshot {
5
9
  readonly id: string;
6
10
  readonly name: SceneIndicator['name'];
@@ -9,6 +13,7 @@ export interface AdapterIndicatorSnapshot {
9
13
  }
10
14
  export interface AdapterSnapshot {
11
15
  readonly engineVersion: string;
16
+ readonly runtimeVersion: ChartScene['runtime']['runtimeVersion'];
12
17
  readonly dataCount: number;
13
18
  readonly paneIds: readonly string[];
14
19
  readonly indicators: readonly AdapterIndicatorSnapshot[];
@@ -16,19 +21,45 @@ export interface AdapterSnapshot {
16
21
  readonly barSpace: number;
17
22
  readonly rightOffsetDistance: number;
18
23
  }
24
+ interface AdapterDragEventIdentity {
25
+ readonly interactionId: string;
26
+ readonly overlayId: string;
27
+ readonly target: AdapterDragTarget;
28
+ readonly anchorIndex: number | null;
29
+ readonly before: SceneOverlay;
30
+ }
19
31
  export type AdapterSceneEvent = {
20
32
  readonly type: 'overlay-created';
21
33
  readonly overlay: SceneOverlay;
22
34
  } | {
23
35
  readonly type: 'overlay-updated';
24
36
  readonly overlay: SceneOverlay;
37
+ } | {
38
+ readonly type: 'overlay-style-changed';
39
+ readonly before: SceneOverlay;
40
+ readonly overlay: SceneOverlay;
25
41
  } | {
26
42
  readonly type: 'overlay-removed';
27
43
  readonly id: string;
44
+ } | {
45
+ readonly type: 'overlay-selection-changed';
46
+ readonly previousId: string | null;
47
+ readonly id: string | null;
28
48
  } | {
29
49
  readonly type: 'overlay-selected';
30
50
  readonly id: string;
31
- } | {
51
+ } | ({
52
+ readonly type: 'overlay-drag-started';
53
+ } & AdapterDragEventIdentity) | ({
54
+ readonly type: 'overlay-dragging';
55
+ readonly candidate: SceneOverlay;
56
+ } & AdapterDragEventIdentity) | ({
57
+ readonly type: 'overlay-drag-committed';
58
+ readonly overlay: SceneOverlay;
59
+ } & AdapterDragEventIdentity) | ({
60
+ readonly type: 'overlay-drag-cancelled';
61
+ readonly reason: AdapterDragCancelReason;
62
+ } & AdapterDragEventIdentity) | {
32
63
  readonly type: 'scene-error';
33
64
  readonly issues: readonly SceneError['issues'][number][];
34
65
  };
@@ -45,8 +76,15 @@ export declare class KLineChartsSceneAdapter {
45
76
  static create(container: HTMLElement, value: unknown): Promise<KLineChartsSceneAdapter>;
46
77
  subscribe(listener: AdapterSceneEventListener): () => void;
47
78
  exportScene(): ChartScene;
79
+ setPriceScale(scale: PriceScale): Promise<ChartScene>;
80
+ projectPoint(point: {
81
+ readonly timestamp: number;
82
+ readonly value: number;
83
+ }, paneId?: string): PixelCoordinate;
84
+ hitTestOverlay(point: PixelCoordinate): OverlayHitResult | null;
48
85
  addOverlay(value: SceneOverlay): SceneOverlay;
49
86
  updateOverlay(value: SceneOverlay): SceneOverlay;
87
+ updateOverlayStyles(id: string, styles: SceneOverlay['styles']): SceneOverlay;
50
88
  removeOverlay(id: string): boolean;
51
89
  startOverlayDrawing(request: OverlayDrawingRequest): string;
52
90
  getOverlay(id: string): SceneOverlay | undefined;
@@ -54,4 +92,5 @@ export declare class KLineChartsSceneAdapter {
54
92
  inspect(): AdapterSnapshot;
55
93
  dispose(): void;
56
94
  }
95
+ export {};
57
96
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEN,UAAU,EACV,MAAM,+BAA+B,CAAC;AAUvC,OAAO,EAIN,KAAK,oBAAoB,EAGzB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,MAAM,iBAAiB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;CAAE,CAAC;AAE9F,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE3E,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;CAAG;AAEtE;;;GAGG;AACH,qBAAa,uBAAuB;;IAkBnC,OAAO;WAea,MAAM,CACzB,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,OAAO,GACZ,OAAO,CAAC,uBAAuB,CAAC;IA+H5B,SAAS,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI;IAQ1D,WAAW,IAAI,UAAU;IA0BzB,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY;IA4B7C,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY;IA6BhD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAuBlC,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAyB3D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIhD,YAAY,IAAI,SAAS,YAAY,EAAE;IAIvC,OAAO,IAAI,eAAe;IA8B1B,OAAO,IAAI,IAAI;CAUtB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}