hyperprop-charting-library 0.1.90 → 0.1.91

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.
@@ -5094,6 +5094,14 @@ function createChart(element, options = {}) {
5094
5094
  draw();
5095
5095
  };
5096
5096
  const getActiveDrawingTool = () => activeDrawingTool;
5097
+ const cancelDrawing = () => {
5098
+ if (draftDrawing) {
5099
+ draftDrawing = null;
5100
+ draw();
5101
+ return true;
5102
+ }
5103
+ return false;
5104
+ };
5097
5105
  const setMagnetMode = (mode) => {
5098
5106
  magnetMode = mode;
5099
5107
  };
@@ -5208,6 +5216,7 @@ function createChart(element, options = {}) {
5208
5216
  onDrawingEditText,
5209
5217
  setMagnetMode,
5210
5218
  getMagnetMode,
5219
+ cancelDrawing,
5211
5220
  setSelectedDrawing,
5212
5221
  onDrawingHover,
5213
5222
  setDrawingDefaults,
@@ -432,6 +432,7 @@ interface ChartInstance {
432
432
  onDrawingEditText: (handler: ((event: DrawingSelectEvent) => void) | null) => void;
433
433
  setMagnetMode: (mode: "none" | "weak" | "strong") => void;
434
434
  getMagnetMode: () => "none" | "weak" | "strong";
435
+ cancelDrawing: () => boolean;
435
436
  onDrawingHover: (handler: ((event: DrawingHoverEvent) => void) | null) => void;
436
437
  setDrawingDefaults: (tool: DrawingToolType, defaults: DrawingDefaults | null) => void;
437
438
  setSelectedDrawing: (id: string | null) => void;
@@ -5068,6 +5068,14 @@ function createChart(element, options = {}) {
5068
5068
  draw();
5069
5069
  };
5070
5070
  const getActiveDrawingTool = () => activeDrawingTool;
5071
+ const cancelDrawing = () => {
5072
+ if (draftDrawing) {
5073
+ draftDrawing = null;
5074
+ draw();
5075
+ return true;
5076
+ }
5077
+ return false;
5078
+ };
5071
5079
  const setMagnetMode = (mode) => {
5072
5080
  magnetMode = mode;
5073
5081
  };
@@ -5182,6 +5190,7 @@ function createChart(element, options = {}) {
5182
5190
  onDrawingEditText,
5183
5191
  setMagnetMode,
5184
5192
  getMagnetMode,
5193
+ cancelDrawing,
5185
5194
  setSelectedDrawing,
5186
5195
  onDrawingHover,
5187
5196
  setDrawingDefaults,
package/dist/index.cjs CHANGED
@@ -5094,6 +5094,14 @@ function createChart(element, options = {}) {
5094
5094
  draw();
5095
5095
  };
5096
5096
  const getActiveDrawingTool = () => activeDrawingTool;
5097
+ const cancelDrawing = () => {
5098
+ if (draftDrawing) {
5099
+ draftDrawing = null;
5100
+ draw();
5101
+ return true;
5102
+ }
5103
+ return false;
5104
+ };
5097
5105
  const setMagnetMode = (mode) => {
5098
5106
  magnetMode = mode;
5099
5107
  };
@@ -5208,6 +5216,7 @@ function createChart(element, options = {}) {
5208
5216
  onDrawingEditText,
5209
5217
  setMagnetMode,
5210
5218
  getMagnetMode,
5219
+ cancelDrawing,
5211
5220
  setSelectedDrawing,
5212
5221
  onDrawingHover,
5213
5222
  setDrawingDefaults,
package/dist/index.d.cts CHANGED
@@ -432,6 +432,7 @@ interface ChartInstance {
432
432
  onDrawingEditText: (handler: ((event: DrawingSelectEvent) => void) | null) => void;
433
433
  setMagnetMode: (mode: "none" | "weak" | "strong") => void;
434
434
  getMagnetMode: () => "none" | "weak" | "strong";
435
+ cancelDrawing: () => boolean;
435
436
  onDrawingHover: (handler: ((event: DrawingHoverEvent) => void) | null) => void;
436
437
  setDrawingDefaults: (tool: DrawingToolType, defaults: DrawingDefaults | null) => void;
437
438
  setSelectedDrawing: (id: string | null) => void;
package/dist/index.d.ts CHANGED
@@ -432,6 +432,7 @@ interface ChartInstance {
432
432
  onDrawingEditText: (handler: ((event: DrawingSelectEvent) => void) | null) => void;
433
433
  setMagnetMode: (mode: "none" | "weak" | "strong") => void;
434
434
  getMagnetMode: () => "none" | "weak" | "strong";
435
+ cancelDrawing: () => boolean;
435
436
  onDrawingHover: (handler: ((event: DrawingHoverEvent) => void) | null) => void;
436
437
  setDrawingDefaults: (tool: DrawingToolType, defaults: DrawingDefaults | null) => void;
437
438
  setSelectedDrawing: (id: string | null) => void;
package/dist/index.js CHANGED
@@ -5068,6 +5068,14 @@ function createChart(element, options = {}) {
5068
5068
  draw();
5069
5069
  };
5070
5070
  const getActiveDrawingTool = () => activeDrawingTool;
5071
+ const cancelDrawing = () => {
5072
+ if (draftDrawing) {
5073
+ draftDrawing = null;
5074
+ draw();
5075
+ return true;
5076
+ }
5077
+ return false;
5078
+ };
5071
5079
  const setMagnetMode = (mode) => {
5072
5080
  magnetMode = mode;
5073
5081
  };
@@ -5182,6 +5190,7 @@ function createChart(element, options = {}) {
5182
5190
  onDrawingEditText,
5183
5191
  setMagnetMode,
5184
5192
  getMagnetMode,
5193
+ cancelDrawing,
5185
5194
  setSelectedDrawing,
5186
5195
  onDrawingHover,
5187
5196
  setDrawingDefaults,
package/docs/API.md CHANGED
@@ -484,6 +484,7 @@ Use `getDrawings()` / `setDrawings()` for persistence.
484
484
  - `setSelectedDrawing(id: string | null): void` (marks a drawing selected; only the selected/drafted drawing renders its handles, and position tools render their lines/labels only while selected)
485
485
  - `onDrawingDoubleClick(handler): void` (fires when a drawing is double-clicked; use it to open a settings dialog, e.g. for position tools)
486
486
  - `onDrawingEditText(handler): void` (fires when a `text`/`note` tool is placed or double-clicked; use it to show an inline text editor at `{x, y}` and write the result back via `updateDrawing(id, { label })`). `text`/`note` drawings store their content in `label` and size in `fontSize`.
487
+ - `cancelDrawing(): boolean` — abort an in-progress multi-click drawing (between the first click and the final point, e.g. a half-drawn trendline/ray/fib). Returns `true` if a draft was cancelled. Wire it to Escape.
487
488
  - `setMagnetMode(mode): void` / `getMagnetMode()` — magnet/snap for all drawing tools. `"none"` off, `"weak"` snaps to a candle's OHLC only when the cursor is near a value, `"strong"` always snaps to the nearest OHLC of the bar under the cursor. Holding Cmd/Ctrl while drawing/dragging forces strong snapping regardless of the mode.
488
489
  - `setActiveDrawingTool(tool: DrawingToolType | null): void` (`DrawingToolType` = `"horizontal-line" | "vertical-line" | "trendline" | "ray" | "fib-retracement"`)
489
490
  - `getActiveDrawingTool(): DrawingToolType | null`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hyperprop-charting-library",
3
- "version": "0.1.90",
3
+ "version": "0.1.91",
4
4
  "description": "Lightweight TypeScript charting core",
5
5
  "type": "module",
6
6
  "main": "./dist/hyperprop-charting-library.cjs",