@pipsend/charts 2.3.4 → 2.3.10

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/typings.d.ts CHANGED
@@ -4376,6 +4376,14 @@ export interface IHorzScaleBehavior<HorzScaleItem> {
4376
4376
  * @returns string
4377
4377
  */
4378
4378
  formatTickmark(item: TickMark, localizationOptions: LocalizationOptions<HorzScaleItem>): string;
4379
+ /**
4380
+ * Whether a tickmark may be shown at all. Behaviours without it allow every mark.
4381
+ *
4382
+ * @param item - tickmark item
4383
+ * @param barsPerMark - how many bars apart marks must be at the current zoom
4384
+ * @returns false to leave the tickmark out
4385
+ */
4386
+ allowsTickMark?(item: TickMark, barsPerMark: number): boolean;
4379
4387
  /**
4380
4388
  * Returns the maximum tickmark weight value for the specified tickmarks on the time scale.
4381
4389
  *
@@ -6590,6 +6598,14 @@ export interface PriceScaleOptions {
6590
6598
  * @defaultValue false
6591
6599
  */
6592
6600
  ensureEdgeTickMarksVisible: boolean;
6601
+ /**
6602
+ * Vertical room each price label keeps, as a multiple of the font height.
6603
+ * Lower values fit more prices onto the scale. Around 1.2 they start to
6604
+ * touch.
6605
+ *
6606
+ * @defaultValue 2.5
6607
+ */
6608
+ tickMarkSpacing: number;
6593
6609
  }
6594
6610
  export interface PriceVolumeBin {
6595
6611
  priceLevel: number;
@@ -7346,6 +7362,17 @@ export interface TimeScaleOptions extends HorzScaleOptions {
7346
7362
  * @defaultValue `undefined`
7347
7363
  */
7348
7364
  tickMarkFormatter?: TickMarkFormatter;
7365
+ /**
7366
+ * Decides which times may carry a tick mark, and with it a vertical grid line.
7367
+ * Times it rejects never get one; the rest are thinned by weight and zoom as usual.
7368
+ *
7369
+ * `barsPerMark` is how many bars apart two marks must be at the current zoom for
7370
+ * their labels not to overlap, so a filter can pick a regular grid that fits,
7371
+ * e.g. every 10 minutes when every 2 would crowd the axis.
7372
+ *
7373
+ * @defaultValue `undefined`
7374
+ */
7375
+ tickMarkFilter?: (time: Time, tickMarkType: TickMarkType, barsPerMark: number) => boolean;
7349
7376
  }
7350
7377
  /**
7351
7378
  * Represents a point on the time scale
package/package.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
- "private": false,
3
- "version": "2.3.4",
2
+ "version": "2.3.10",
4
3
  "name": "@pipsend/charts",
5
4
  "author": "Pipsend",
6
5
  "license": "SEE LICENSE IN LICENSE",
@@ -54,88 +53,7 @@
54
53
  "bollinger-bands",
55
54
  "financial-analysis"
56
55
  ],
57
- "engines": {
58
- "node": ">=22.3"
59
- },
60
56
  "dependencies": {
61
57
  "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"
140
58
  }
141
59
  }