@fintatech/fintachart 3.1.0 → 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.
Files changed (38) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +10 -8
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/basic-objects.html +2 -6
  5. package/css/FintaChart.min.css +1 -1
  6. package/custom-indicator.html +2 -6
  7. package/d.ts/FintaChart.d.ts +523 -179
  8. package/d.ts/frameworks/bootstrap.v3.datetimepicker.d.ts +3 -3
  9. package/d.ts/frameworks/html2canvas.d.ts +0 -2
  10. package/d.ts/frameworks-modified/autocolumnlist.d.ts +8 -0
  11. package/d.ts/frameworks-modified/spectrum.d.ts +17 -26
  12. package/d.ts/frameworks-modified/toastr.d.ts +9 -10
  13. package/htmldialogs/Toolbar.html +4 -4
  14. package/index-dark.html +2 -6
  15. package/index.html +2 -6
  16. package/multiple-charts.html +2 -6
  17. package/package.json +1 -1
  18. package/scripts/FintaChart.min.js +2 -2
  19. package/scripts/frameworks/bootstrap.v3.datetimepicker.min.js +10 -10
  20. package/scripts/frameworks-modified/autocolumnlist.js +48 -0
  21. package/scripts/frameworks-modified/spectrum.js +187 -6
  22. package/scripts/frameworks-modified/switchery.js +1 -1
  23. package/scripts/frameworks-modified/toastr.js +283 -382
  24. package/scripts/jsdataadapters/fileDataAdapter.js +2 -0
  25. package/d.ts/frameworks/jquery-i18next.d.ts +0 -14
  26. package/d.ts/frameworks/jquery-ui.d.ts +0 -1914
  27. package/d.ts/frameworks/jquery.d.ts +0 -3779
  28. package/d.ts/frameworks/jquery.ui.touch-punch.d.ts +0 -12
  29. package/d.ts/frameworks-modified/bootstrap-select.d.ts +0 -18
  30. package/d.ts/frameworks-modified/jquery.autocolumnlist.d.ts +0 -17
  31. package/d.ts/frameworks-modified/jquery.resizable.d.ts +0 -20
  32. package/scripts/frameworks/jquery-i18next.min.js +0 -1
  33. package/scripts/frameworks/jquery-ui.min.js +0 -8
  34. package/scripts/frameworks/jquery.min.js +0 -3
  35. package/scripts/frameworks/jquery.ui.touch-punch.min.js +0 -1
  36. package/scripts/frameworks-modified/bootstrap-select.js +0 -1024
  37. package/scripts/frameworks-modified/jquery.autocolumnlist.js +0 -48
  38. package/scripts/frameworks-modified/jquery.resizable.js +0 -229
package/CHANGELOG.md CHANGED
@@ -5,10 +5,51 @@ 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
+
35
+ ## [3.1.1] - 2026-04-22
36
+
37
+ ### Changed
38
+
39
+ - Removed the jQuery dependency. All DOM, drag, and resize behavior is now implemented with native browser APIs (`DomUtils`, `Draggable`, `Resizable`).
40
+ - Improved scrollbar styling and zoom animation smoothness in the chart container.
41
+ - Refreshed documentation and HTML/React examples.
42
+
43
+ ### Removed
44
+
45
+ - `jquery`, `jquery-ui`, `jquery.ui.touch-punch`, `jquery-i18next`, and `bootstrap-select` runtime dependencies.
46
+
8
47
  ## [3.1.0] - 2026-04-18
9
48
 
10
49
  ### Added
11
50
 
12
51
  - Initial public release of `@fintatech/fintachart`
13
52
 
53
+ [3.1.2]: https://github.com/fintatech/fintachart/releases/tag/v3.1.2
54
+ [3.1.1]: https://github.com/fintatech/fintachart/releases/tag/v3.1.1
14
55
  [3.1.0]: https://github.com/fintatech/fintachart/releases/tag/v3.1.0
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
1
  <div align="center">
2
2
  <a href="https://fintatech.com" target="_blank">
3
- <img width="200" src="https://raw.githubusercontent.com/fintatech/fintachart/master/.github/logo-200x200.svg" alt="FintaChart logo">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/fintatech/fintachart/master/.github/logo-dark.svg">
5
+ <img width="400" src="https://raw.githubusercontent.com/fintatech/fintachart/master/.github/logo.svg" alt="FintaChart logo">
6
+ </picture>
4
7
  </a>
5
8
 
6
- <h1>FintaChart</h1>
9
+ <h1>FintaChart™ — Financial Charting Library</h1>
7
10
 
8
11
  [![npm version](https://img.shields.io/npm/v/@fintatech/fintachart.svg)](https://www.npmjs.com/package/@fintatech/fintachart)
9
12
  </div>
@@ -12,8 +15,8 @@ High-performance financial charting component for web applications. Designed for
12
15
 
13
16
  ## Features
14
17
 
15
- - **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
16
- - **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
17
20
  - **Drawing and analysis tools** — Lines, channels, rectangles, circles, ellipses, polygons, freehand, arrows, text and image annotations
18
21
  - **Fibonacci tools** — Retracements, Fan, Extensions, Arcs, Ellipses, Time Zones
19
22
  - **Trend analysis** — Andrews' Pitchfork, Raff Regression, Error Channel, Gann Fan, Speed Lines, Quadrant Lines, Tirone Levels
@@ -45,12 +48,11 @@ npm install @fintatech/fintachart
45
48
  <link rel="stylesheet" href="node_modules/@fintatech/fintachart/css/FintaChart.min.css">
46
49
 
47
50
  <!-- 2. Framework dependencies -->
48
- <script src="node_modules/@fintatech/fintachart/scripts/frameworks/jquery.min.js"></script>
49
- <script src="node_modules/@fintatech/fintachart/scripts/frameworks/jquery-ui.min.js"></script>
50
- <script src="node_modules/@fintatech/fintachart/scripts/frameworks/moment.min.js"></script>
51
51
  <script src="node_modules/@fintatech/fintachart/scripts/frameworks/Intl.min.js"></script>
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>
52
55
  <script src="node_modules/@fintatech/fintachart/scripts/frameworks/i18nextXHRBackend.min.js"></script>
53
- <script src="node_modules/@fintatech/fintachart/scripts/frameworks/jquery-i18next.min.js"></script>
54
56
 
55
57
  <!-- 3. Main bundle -->
56
58
  <script src="node_modules/@fintatech/fintachart/scripts/FintaChart.min.js"></script>
@@ -1,6 +1,6 @@
1
1
  # Third-Party Notices
2
2
 
3
- Trading Chart Designer includes the following third-party libraries,
3
+ FintaChart includes the following third-party libraries,
4
4
  all distributed under the MIT License:
5
5
 
6
6
  | Library | Version | License | URL |
@@ -14,15 +14,11 @@
14
14
  <link rel="stylesheet" href="css/external/jqNumericField.min.css">
15
15
  <link rel="stylesheet" href="css/FintaChart.min.css">
16
16
 
17
- <script src="scripts/frameworks/jquery.min.js"></script>
18
- <script src="scripts/frameworks/jquery-ui.min.js"></script>
19
17
  <script src="scripts/frameworks/Intl.min.js"></script>
20
18
  <script src="scripts/frameworks/moment.min.js"></script>
21
19
  <script src="scripts/frameworks/detectizr.min.js"></script>
22
20
  <script src="scripts/frameworks/dom-to-image-more.min.js"></script>
23
21
  <script src="scripts/frameworks/i18nextXHRBackend.min.js"></script>
24
- <script src="scripts/frameworks/jquery-i18next.min.js"></script>
25
- <script src="scripts/frameworks/jquery.ui.touch-punch.min.js"></script>
26
22
  <script src="scripts/FintaChart.min.js"></script>
27
23
  <script src="scripts/jsdataadapters/fileDataAdapter.js"></script>
28
24
  <script src="scripts/jsdataadapters/restDataAdapter.js"></script>
@@ -60,7 +56,7 @@
60
56
  FintaChart.ResourcePath.localization = 'localization/';
61
57
  const datafeed = fileDatafeed;
62
58
 
63
- $(function () {
59
+ document.addEventListener('DOMContentLoaded', function () {
64
60
  datafeed.init().then(df => {
65
61
  let config = {
66
62
  chartContainer: '#chartContainer',
@@ -79,7 +75,7 @@
79
75
  '4 Hours'/*, '1 Day', '1 Month', '1 Year'*/
80
76
  ]
81
77
  };
82
- const chart = window.globalChart = $(config.chartContainer).FintaChart(config);
78
+ const chart = window.globalChart = FintaChart.createChart(document.querySelector(config.chartContainer), config);
83
79
 
84
80
  drawBasicObjects(chart)
85
81
  });