@pipsend/charts 2.3.10 → 2.3.11
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.
- package/dist/pipsend-charts.development.mjs +124 -12
- package/dist/pipsend-charts.production.mjs +2 -2
- package/dist/pipsend-charts.standalone.development.js +124 -12
- package/dist/pipsend-charts.standalone.development.mjs +124 -12
- package/dist/pipsend-charts.standalone.production.js +2 -2
- package/dist/pipsend-charts.standalone.production.mjs +2 -2
- package/dist/typings.d.ts +19 -8
- package/package.json +83 -1
package/dist/typings.d.ts
CHANGED
|
@@ -313,14 +313,6 @@ export declare class CrossLineTool extends DrawingToolBase {
|
|
|
313
313
|
remove(): void;
|
|
314
314
|
protected _serializeShape(): SerializedDrawingTool;
|
|
315
315
|
}
|
|
316
|
-
/**
|
|
317
|
-
* A price line that can be dragged and clicked.
|
|
318
|
-
*
|
|
319
|
-
* Input is not handled here: every line on a chart shares a single
|
|
320
|
-
* TradingLineController, which is what guarantees that one gesture moves one
|
|
321
|
-
* line. Hit testing comes from the engine — the line's id travels as the price
|
|
322
|
-
* line's `externalId` — so the hit area matches what is drawn.
|
|
323
|
-
*/
|
|
324
316
|
export declare class DraggablePriceLine implements ControllableLine {
|
|
325
317
|
private readonly _chart;
|
|
326
318
|
private readonly _series;
|
|
@@ -336,6 +328,11 @@ export declare class DraggablePriceLine implements ControllableLine {
|
|
|
336
328
|
isDraggable(): boolean;
|
|
337
329
|
isClickable(): boolean;
|
|
338
330
|
setHovered(hovered: boolean): void;
|
|
331
|
+
/**
|
|
332
|
+
* The engine draws this one, so there is no pane view to ask: a press within
|
|
333
|
+
* the line's own grab strip counts as a hit.
|
|
334
|
+
*/
|
|
335
|
+
hitTestAt(x: number, y: number, slop?: number): unknown;
|
|
339
336
|
priceAt(paneY: number): number | null;
|
|
340
337
|
beginDrag(): void;
|
|
341
338
|
dragTo(price: number): void;
|
|
@@ -389,6 +386,7 @@ export declare class DrawingToolsManager {
|
|
|
389
386
|
private _mouseMoveHandler;
|
|
390
387
|
private _pointerDownHandler;
|
|
391
388
|
private _pointerUpHandler;
|
|
389
|
+
private _pointerMoveHandler;
|
|
392
390
|
private _pointerCancelHandler;
|
|
393
391
|
private _lostCaptureHandler;
|
|
394
392
|
private _windowPointerUpHandler;
|
|
@@ -542,6 +540,12 @@ export declare class DrawingToolsManager {
|
|
|
542
540
|
*/
|
|
543
541
|
private _findToolByExternalId;
|
|
544
542
|
private _handlePointerDown;
|
|
543
|
+
/**
|
|
544
|
+
* The drag reads the crosshair, which touch never moves: its move handler
|
|
545
|
+
* only tries to pan, and the drag has just turned panning off. So touch is
|
|
546
|
+
* driven straight from the pointer instead.
|
|
547
|
+
*/
|
|
548
|
+
private _handlePointerMove;
|
|
545
549
|
private _handlePointerUp;
|
|
546
550
|
/** Ends the drag when capture is lost without a pointerup ever arriving. */
|
|
547
551
|
private _handleLostPointerCapture;
|
|
@@ -1161,6 +1165,7 @@ export declare class PositionLine implements ISeriesPrimitive, ControllableLine
|
|
|
1161
1165
|
* of jumping to sit under it — which matters most when the label has been
|
|
1162
1166
|
* fanned away from its own line.
|
|
1163
1167
|
*/
|
|
1168
|
+
hitTestAt(x: number, y: number, slop?: number): unknown;
|
|
1164
1169
|
dragAnchorY(): number | null;
|
|
1165
1170
|
beginDrag(): void;
|
|
1166
1171
|
dragTo(price: number): void;
|
|
@@ -3300,6 +3305,12 @@ export interface ControllableLine {
|
|
|
3300
3305
|
* the pointer and that point instead of snapping the line under the cursor.
|
|
3301
3306
|
*/
|
|
3302
3307
|
dragAnchorY?(): number | null;
|
|
3308
|
+
/**
|
|
3309
|
+
* Optional. What sits at this pane point, as the id the hover would have
|
|
3310
|
+
* reported, or null. A touch has no hover — the press is the first event —
|
|
3311
|
+
* so it resolves the hit itself.
|
|
3312
|
+
*/
|
|
3313
|
+
hitTestAt?(x: number, y: number, slop?: number): unknown;
|
|
3303
3314
|
priceAt(paneY: number): number | null;
|
|
3304
3315
|
beginDrag(): void;
|
|
3305
3316
|
dragTo(price: number): void;
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"private": false,
|
|
3
|
+
"version": "2.3.11",
|
|
3
4
|
"name": "@pipsend/charts",
|
|
4
5
|
"author": "Pipsend",
|
|
5
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -53,7 +54,88 @@
|
|
|
53
54
|
"bollinger-bands",
|
|
54
55
|
"financial-analysis"
|
|
55
56
|
],
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=22.3"
|
|
59
|
+
},
|
|
56
60
|
"dependencies": {
|
|
57
61
|
"fancy-canvas": "2.1.0"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@juggle/resize-observer": "3.4.0",
|
|
65
|
+
"@rollup/plugin-node-resolve": "16.0.1",
|
|
66
|
+
"@rollup/plugin-replace": "6.0.2",
|
|
67
|
+
"@rollup/plugin-terser": "0.4.4",
|
|
68
|
+
"@size-limit/file": "11.2.0",
|
|
69
|
+
"@size-limit/webpack": "11.2.0",
|
|
70
|
+
"@types/chai": "5.2.1",
|
|
71
|
+
"@types/express": "5.0.1",
|
|
72
|
+
"@types/glob": "8.1.0",
|
|
73
|
+
"@types/node": "22",
|
|
74
|
+
"@types/pixelmatch": "5.2.6",
|
|
75
|
+
"@types/pngjs": "6.0.5",
|
|
76
|
+
"@typescript-eslint/eslint-plugin": "7.18.0",
|
|
77
|
+
"@typescript-eslint/eslint-plugin-tslint": "7.0.2",
|
|
78
|
+
"@typescript-eslint/parser": "7.18.0",
|
|
79
|
+
"ajv": "7.2.4",
|
|
80
|
+
"bytes": "3.1.2",
|
|
81
|
+
"chai": "5.2.0",
|
|
82
|
+
"chai-exclude": "3.0.1",
|
|
83
|
+
"cross-env": "7.0.3",
|
|
84
|
+
"dts-bundle-generator": "9.5.1",
|
|
85
|
+
"eslint": "8",
|
|
86
|
+
"eslint-formatter-unix": "8.40.0",
|
|
87
|
+
"eslint-plugin-deprecation": "3.0.0",
|
|
88
|
+
"eslint-plugin-import": "2.31.0",
|
|
89
|
+
"eslint-plugin-unicorn": "56.0.1",
|
|
90
|
+
"esno": "4.8.0",
|
|
91
|
+
"glob": "11.0.1",
|
|
92
|
+
"markdown-it": "14.1.0",
|
|
93
|
+
"markdown-it-anchor": "9.2.0",
|
|
94
|
+
"markdownlint-cli": "0.44.0",
|
|
95
|
+
"npm-run-all": "4.1.5",
|
|
96
|
+
"rimraf": "6.0.1",
|
|
97
|
+
"rollup": "4.40.0",
|
|
98
|
+
"size-limit": "11.2.0",
|
|
99
|
+
"ts-node": "10.9.2",
|
|
100
|
+
"ts-patch": "3.3.0",
|
|
101
|
+
"ts-transformer-properties-rename": "0.17.0",
|
|
102
|
+
"ts-transformer-strip-const-enums": "2.0.0",
|
|
103
|
+
"tslib": "2.8.1",
|
|
104
|
+
"tslint": "6.1.3",
|
|
105
|
+
"tslint-eslint-rules": "5.4.0",
|
|
106
|
+
"tslint-microsoft-contrib": "6.2.0",
|
|
107
|
+
"tsx": "4.19.3",
|
|
108
|
+
"typescript": "5.5.4",
|
|
109
|
+
"yargs": "17.7.2"
|
|
110
|
+
},
|
|
111
|
+
"scripts": {
|
|
112
|
+
"prepare": "node scripts/githooks/install.js || true",
|
|
113
|
+
"clean": "rimraf lib/ dist/",
|
|
114
|
+
"bundle-dts": "dts-bundle-generator --config dts-config.json",
|
|
115
|
+
"tsc": "tspc -p tsconfig.prod.json",
|
|
116
|
+
"tsc-watch": "npm run tsc -- --watch --preserveWatchOutput",
|
|
117
|
+
"tsc-verify": "node -e \"const fs=require('fs');const p='website/scripts/generate-versions-dts.js'; if(fs.existsSync(p)){require('child_process').execSync('node '+p,{stdio:'inherit'});} else {console.warn('[tsc-verify] skip: '+p+' not found');}\" && tsc -b tsconfig.composite.json",
|
|
118
|
+
"lint": "npm-run-all -p lint:**",
|
|
119
|
+
"lint:eslint": "eslint --format=unix ./",
|
|
120
|
+
"lint:md": "markdownlint -i \"**/node_modules/**\" -i \"**/website/docs/api/**\" -i \"**/website/versioned_docs/**/api/**\" -i \"**/*.mdx\" \"**/*.md\"",
|
|
121
|
+
"check-dts-docs": "npm-run-all -p check-dts-docs-duplicates check-dts-docs-eslint",
|
|
122
|
+
"check-dts-docs-duplicates": "node ./scripts/check-typings-for-duplicates.js ./dist/typings.d.ts",
|
|
123
|
+
"check-dts-docs-eslint": "eslint --format=unix ./dist/typings.d.ts --no-ignore",
|
|
124
|
+
"check-markdown-links": "node scripts/check-markdown-links.js",
|
|
125
|
+
"rollup": "rollup -c rollup.config.js",
|
|
126
|
+
"rollup-watch": "npm run rollup -- --watch",
|
|
127
|
+
"build": "npm-run-all tsc rollup bundle-dts",
|
|
128
|
+
"build:watch": "npm-run-all tsc -p tsc-watch rollup-watch",
|
|
129
|
+
"build:prod": "cross-env NODE_ENV=production npm run build",
|
|
130
|
+
"build:release": "cross-env BUILD_TAG=release npm run build:prod",
|
|
131
|
+
"prepare-release": "npm-run-all clean build:release && npm run prepare-package-json-for-release",
|
|
132
|
+
"prepare-package-json-for-release": "node ./scripts/clean-package-json.js",
|
|
133
|
+
"size-limit": "size-limit",
|
|
134
|
+
"verify": "npm-run-all clean -p build:prod check-markdown-links -p lint check-dts-docs tsc-verify test size-limit -p type-tests",
|
|
135
|
+
"test": "esno --import ./tests/unittests/setup.units.mjs --test './tests/unittests/**/*.spec.ts'",
|
|
136
|
+
"type-tests": "tsc -b ./src/tsconfig.composite.json && tsc -p ./tests/type-checks/tsconfig.composite.json --noEmit",
|
|
137
|
+
"e2e:coverage": "esno ./tests/e2e/coverage/runner.ts ./dist/pipsend-charts.standalone.development.js",
|
|
138
|
+
"e2e:interactions": "esno ./tests/e2e/interactions/runner.ts ./dist/pipsend-charts.standalone.development.js",
|
|
139
|
+
"e2e:memleaks": "esno ./tests/e2e/memleaks/runner.ts ./dist/pipsend-charts.standalone.development.js"
|
|
58
140
|
}
|
|
59
141
|
}
|