@fintatech/fintachart 3.1.1 → 3.1.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.1.2] - 2026-05-04
9
+
10
+ ### Added
11
+
12
+ - `FintaChart.Themes` — public namespace exposing the 10 built-in themes (`defaultTheme`, `darkTheme`, `fintatechDarkTheme`, `beetTheme`, `grayTheme`, `oliveTheme`, `orangeTheme`, `purpleTheme`, `skyTheme`, `tealTheme`).
13
+ - `FintaChart.ThemeUtils.deepMerge(target, source)` for deriving custom themes from a base theme.
14
+ - `ChartTypeNames.LINE` (`'line'`) and `ChartTypeNames.AREA` (`'area'`) — the two chart types that were registered with `ChartTypeFactory` but missing from the public `ChartTypeNames` constant.
15
+ - New example `examples/html/14-instrument-switching/` demonstrating the programmatic instrument-change pattern with `INSTRUMENT_CHANGED` event handling.
16
+ - New custom-indicators guide at `docs/api/custom-indicators.md` covering lifecycle hooks, plot setup, parameters, the two registration patterns (direct add vs `IndicatorFactory.add` for state save/restore), and reserved-field pitfalls.
17
+ - New "Identity & equality" section in `docs/api/instrument.md` documenting the `id`-based equality contract and the silent no-op trap when instruments lack `id`.
18
+ - New "Switching instruments at runtime" section in `docs/api/data-adapters.md` documenting the unique-`id` + explicit `sendBarsRequest()` contract.
19
+ - `id` field populated on the bundled `FileDatafeed` instrument configs (`shared/file-data-adapter.js`, `src/scripts/jsdataadapters/fileDataAdapter.js`).
20
+
21
+ ### Changed
22
+
23
+ - `chart.appendBars(bars)` now auto-establishes the visible range and calls `refreshAsync(true)` when called on a chart with no visible range set.
24
+ - Renamed example `examples/html/14-custom-datafeed/` to `examples/html/15-custom-datafeed/` to make room for the new instrument-switching example.
25
+
26
+ ### Fixed
27
+
28
+ - Toolbar / instrument watermark duplication on chart re-create, and scrollbar theme sync when the active theme changes.
29
+ - README quick-start now lists `detectizr.min.js` and `dom-to-image-more.min.js` in the framework script block — both have always been runtime-required and were previously missing from the documented script list, causing `FintaChart.Chart is not a constructor` for anyone copy-pasting the README quick-start.
30
+ - `docs/quick-start/chart-concepts.md` quickstart switched from `chart.chartType = 'candle'` (assignment to the chart-type-instance accessor; throws on string) to `chart.applyChartType('candle')` (the public method that takes a string).
31
+ - Documentation counts unified at **19 chart types** and **114 indicators** across README, introduction, chart-concepts, chart-types, indicators, and custom-indicators (was variously 16+/17 and 95/100+ depending on the doc).
32
+ - `docs/api/events-enums.md` `ChartTypeNames` table rebuilt against the source constant — previously listed fabricated entries (`BAR`, `MOUNTAIN`, `STEP_LINE`, `DOT`, `DASH`, `VOLUME_CANDLE`, etc.) that don't exist; now lists all 19 real entries.
33
+ - `docs/api/indicators.md` "Available Indicator Types" section: removed the unregistered `Encapsulation`, added the missing `EaseOfMovement` and `WWS`. Listed types now match the 114 registered with `IndicatorFactory`.
34
+
8
35
  ## [3.1.1] - 2026-04-22
9
36
 
10
37
  ### Changed
@@ -23,5 +50,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
23
50
 
24
51
  - Initial public release of `@fintatech/fintachart`
25
52
 
53
+ [3.1.2]: https://github.com/fintatech/fintachart/releases/tag/v3.1.2
26
54
  [3.1.1]: https://github.com/fintatech/fintachart/releases/tag/v3.1.1
27
55
  [3.1.0]: https://github.com/fintatech/fintachart/releases/tag/v3.1.0
package/README.md CHANGED
@@ -15,8 +15,8 @@ High-performance financial charting component for web applications. Designed for
15
15
 
16
16
  ## Features
17
17
 
18
- - **16+ chart types** — Candlestick, OHLC, Heikin Ashi, Renko, Kagi, Line Break, Point & Figure, Hollow Candle, Range Bar, Candle Volume, Equi Volume, Mountain, Line, Area, and more
19
- - **100+ technical indicators** — RSI, MACD, Bollinger Bands, Ichimoku, EMA, SMA, Stochastics, and the full range of standard analysis tools
18
+ - **19 chart types** — Candlestick, OHLC, Heikin Ashi, Renko, Kagi, Line Break, Point & Figure, Hollow Candle, Range Bar, Candle Volume, Equi Volume, Line, Area, and more
19
+ - **114 technical indicators** — RSI, MACD, Bollinger Bands, Ichimoku, EMA, SMA, Stochastics, and the full range of standard analysis tools
20
20
  - **Drawing and analysis tools** — Lines, channels, rectangles, circles, ellipses, polygons, freehand, arrows, text and image annotations
21
21
  - **Fibonacci tools** — Retracements, Fan, Extensions, Arcs, Ellipses, Time Zones
22
22
  - **Trend analysis** — Andrews' Pitchfork, Raff Regression, Error Channel, Gann Fan, Speed Lines, Quadrant Lines, Tirone Levels
@@ -50,6 +50,8 @@ npm install @fintatech/fintachart
50
50
  <!-- 2. Framework dependencies -->
51
51
  <script src="node_modules/@fintatech/fintachart/scripts/frameworks/Intl.min.js"></script>
52
52
  <script src="node_modules/@fintatech/fintachart/scripts/frameworks/moment.min.js"></script>
53
+ <script src="node_modules/@fintatech/fintachart/scripts/frameworks/detectizr.min.js"></script>
54
+ <script src="node_modules/@fintatech/fintachart/scripts/frameworks/dom-to-image-more.min.js"></script>
53
55
  <script src="node_modules/@fintatech/fintachart/scripts/frameworks/i18nextXHRBackend.min.js"></script>
54
56
 
55
57
  <!-- 3. Main bundle -->
@@ -3027,6 +3027,16 @@ declare module FintaChart {
3027
3027
  closeMarketFillColor: string;
3028
3028
  }
3029
3029
  }
3030
+ declare const defaultTheme: any;
3031
+ declare const darkTheme: any;
3032
+ declare const fintatechDarkTheme: any;
3033
+ declare const beetTheme: any;
3034
+ declare const grayTheme: any;
3035
+ declare const oliveTheme: any;
3036
+ declare const orangeTheme: any;
3037
+ declare const purpleTheme: any;
3038
+ declare const skyTheme: any;
3039
+ declare const tealTheme: any;
3030
3040
  declare module FintaChart {
3031
3041
  enum StrokePriority {
3032
3042
  COLOR = "color"
@@ -3060,6 +3070,19 @@ declare module FintaChart {
3060
3070
  DASH: number[];
3061
3071
  DASH_DOT: number[];
3062
3072
  };
3073
+ const Themes: {
3074
+ readonly default: any;
3075
+ readonly light: any;
3076
+ readonly dark: any;
3077
+ readonly fintatechDark: any;
3078
+ readonly beet: any;
3079
+ readonly gray: any;
3080
+ readonly olive: any;
3081
+ readonly orange: any;
3082
+ readonly purple: any;
3083
+ readonly sky: any;
3084
+ readonly teal: any;
3085
+ };
3063
3086
  /**
3064
3087
  * Represents stroke theme
3065
3088
  */
@@ -3233,6 +3256,13 @@ declare module FintaChart {
3233
3256
  static isLight(chartTheme: any): boolean;
3234
3257
  }
3235
3258
  }
3259
+ declare module FintaChart {
3260
+ class ThemeUtils {
3261
+ private static isObject;
3262
+ static deepMerge<T extends object>(target: T, source: Partial<T>): T;
3263
+ private static mergeInto;
3264
+ }
3265
+ }
3236
3266
  declare module FintaChart {
3237
3267
  /**
3238
3268
  * Represents container dislocation
@@ -5871,6 +5901,7 @@ declare module FintaChart {
5871
5901
  private _toolbarScroll;
5872
5902
  private _locked;
5873
5903
  private _lastOrderTime;
5904
+ private _disponsed;
5874
5905
  private _autoScaleBtn;
5875
5906
  private _logScaleBtn;
5876
5907
  private _percentScaleBtn;
@@ -15979,6 +16010,8 @@ declare module FintaChart {
15979
16010
  CANDLE_VOLUME: string;
15980
16011
  EQUI_VOLUME: string;
15981
16012
  EQUI_VOLUME_SHADOW: string;
16013
+ LINE: string;
16014
+ AREA: string;
15982
16015
  };
15983
16016
  /**
15984
16017
  * Represents plot bar
@@ -481,7 +481,7 @@
481
481
  <div class="tcdToolbarButton-buttonWrapper">
482
482
  <div class="tcdToolbarButton-activateBtn">
483
483
  <span class="tcdToolbarButton-dropdownElement-image tcd-icon tcdSVGIcon"
484
- tcdSVGData="stash"></span>
484
+ tcdSVGData="screenshot"></span>
485
485
  </div>
486
486
  <button class="tcdToolbarButton-toggleDropdownBtn">
487
487
  <span class="tcdToolbarButton-dropdownElement-image tcd-icon"></span>
@@ -532,7 +532,7 @@
532
532
  <li class="tcdToolbarDivider"></li>
533
533
 
534
534
  <li class="tcdToolbar-btn toolbar-title tcdToolbarExport" data-i18n="[title]toolbar.title.export">
535
- <div class="tcdToolbarButton-dropdownElement-image tcdSVGIcon" tcdSVGData="screenshot"></div>
535
+ <div class="tcdToolbarButton-dropdownElement-image tcdSVGIcon" tcdSVGData="stash"></div>
536
536
  <a style="display: none" id="tcdToolbarExport_link" download href></a>
537
537
  </li>
538
538
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fintatech/fintachart",
3
3
  "description": "FintaChart financial charting component",
4
4
  "homepage": "https://fintatech.com",
5
- "version": "3.1.1",
5
+ "version": "3.1.2",
6
6
  "types": "./d.ts/FintaChart.d.ts",
7
7
  "license": "SEE LICENSE IN LICENSE.md",
8
8
  "repository": {