@fintatech/fintachart 3.1.0

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 (341) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE.md +63 -0
  3. package/README.md +151 -0
  4. package/THIRD_PARTY_NOTICES.md +38 -0
  5. package/basic-objects.html +165 -0
  6. package/css/FintaChart.min.css +1 -0
  7. package/css/external/jqNumericField.min.css +1 -0
  8. package/css/external/spectrum.min.css +7 -0
  9. package/css/external/toastr.min.css +1 -0
  10. package/custom-indicator.html +209 -0
  11. package/d.ts/FintaChart.d.ts +24313 -0
  12. package/d.ts/frameworks/Intl.d.ts +115 -0
  13. package/d.ts/frameworks/bootstrap.d.ts +128 -0
  14. package/d.ts/frameworks/bootstrap.v3.datetimepicker.d.ts +10 -0
  15. package/d.ts/frameworks/detectizr.d.ts +27 -0
  16. package/d.ts/frameworks/dom-to-image-more.d.ts +17 -0
  17. package/d.ts/frameworks/html2canvas.d.ts +101 -0
  18. package/d.ts/frameworks/i18nextXHRBackend.d.ts +42 -0
  19. package/d.ts/frameworks/jquery-i18next.d.ts +14 -0
  20. package/d.ts/frameworks/jquery-ui.d.ts +1914 -0
  21. package/d.ts/frameworks/jquery.d.ts +3779 -0
  22. package/d.ts/frameworks/jquery.ui.touch-punch.d.ts +12 -0
  23. package/d.ts/frameworks/moment-node.d.ts +485 -0
  24. package/d.ts/frameworks/moment.d.ts +10 -0
  25. package/d.ts/frameworks/tinycolor.d.ts +377 -0
  26. package/d.ts/frameworks-modified/bootstrap-select.d.ts +18 -0
  27. package/d.ts/frameworks-modified/i18next.d.ts +148 -0
  28. package/d.ts/frameworks-modified/jquery.autocolumnlist.d.ts +17 -0
  29. package/d.ts/frameworks-modified/jquery.resizable.d.ts +20 -0
  30. package/d.ts/frameworks-modified/spectrum.d.ts +294 -0
  31. package/d.ts/frameworks-modified/switchery.d.ts +69 -0
  32. package/d.ts/frameworks-modified/toastr.d.ts +224 -0
  33. package/data/offline-market-history/EUR_CAD/Day/1.csv +2001 -0
  34. package/data/offline-market-history/EUR_CAD/Hour/1.csv +1702 -0
  35. package/data/offline-market-history/EUR_CAD/Hour/4.csv +442 -0
  36. package/data/offline-market-history/EUR_CAD/Minute/1.csv +2001 -0
  37. package/data/offline-market-history/EUR_CAD/Minute/15.csv +2001 -0
  38. package/data/offline-market-history/EUR_CAD/Minute/5.csv +2001 -0
  39. package/data/offline-market-history/EUR_CAD/Monthly/1.csv +175 -0
  40. package/data/offline-market-history/EUR_CAD/Weekly/1.csv +752 -0
  41. package/data/offline-market-history/EUR_CAD/Yearly/1.csv +16 -0
  42. package/data/offline-market-history/EUR_GBP/Day/1.csv +2001 -0
  43. package/data/offline-market-history/EUR_GBP/Hour/1.csv +1702 -0
  44. package/data/offline-market-history/EUR_GBP/Hour/4.csv +442 -0
  45. package/data/offline-market-history/EUR_GBP/Minute/1.csv +2001 -0
  46. package/data/offline-market-history/EUR_GBP/Minute/15.csv +2001 -0
  47. package/data/offline-market-history/EUR_GBP/Minute/5.csv +2001 -0
  48. package/data/offline-market-history/EUR_GBP/Monthly/1.csv +199 -0
  49. package/data/offline-market-history/EUR_GBP/Weekly/1.csv +860 -0
  50. package/data/offline-market-history/EUR_GBP/Yearly/1.csv +18 -0
  51. package/data/predefined-templates/EMAAndMACDTemplate.json +100 -0
  52. package/data/predefined-templates/bigTreeTemplate.json +137 -0
  53. package/data/predefined-templates/multiIndicator.json +136 -0
  54. package/data/predefined-templates/renkoTemplate.json +50 -0
  55. package/data/predefined-templates/standartCandleTemplate.json +73 -0
  56. package/fonts/calibri/calibri.svg +3707 -0
  57. package/fonts/calibri/calibri.ttf +0 -0
  58. package/fonts/calibri/calibri.woff +0 -0
  59. package/fonts/courier-new/courier-new.svg +633 -0
  60. package/fonts/courier-new/courier-new.ttf +0 -0
  61. package/fonts/courier-new/courier-new.woff +0 -0
  62. package/fonts/open-sans-cyrillic/open-sans-cyrillic.svg +475 -0
  63. package/fonts/open-sans-cyrillic/open-sans-cyrillic.ttf +0 -0
  64. package/fonts/open-sans-cyrillic/open-sans-cyrillic.woff +0 -0
  65. package/fonts/open-sans-cyrillic-ext/open-sans-cyrillic-ext.svg +567 -0
  66. package/fonts/open-sans-cyrillic-ext/open-sans-cyrillic-ext.ttf +0 -0
  67. package/fonts/open-sans-cyrillic-ext/open-sans-cyrillic-ext.woff +0 -0
  68. package/fonts/open-sans-greek/open-sans-greek.svg +603 -0
  69. package/fonts/open-sans-greek/open-sans-greek.ttf +0 -0
  70. package/fonts/open-sans-greek/open-sans-greek.woff +0 -0
  71. package/fonts/open-sans-greek-ext/open-sans-greek-ext.svg +42 -0
  72. package/fonts/open-sans-greek-ext/open-sans-greek-ext.ttf +0 -0
  73. package/fonts/open-sans-greek-ext/open-sans-greek-ext.woff +0 -0
  74. package/fonts/open-sans-latin/open-sans-latin.svg +1863 -0
  75. package/fonts/open-sans-latin/open-sans-latin.ttf +0 -0
  76. package/fonts/open-sans-latin/open-sans-latin.woff +0 -0
  77. package/fonts/open-sans-latin-ext/open-sans-latin-ext.svg +1686 -0
  78. package/fonts/open-sans-latin-ext/open-sans-latin-ext.ttf +0 -0
  79. package/fonts/open-sans-latin-ext/open-sans-latin-ext.woff +0 -0
  80. package/fonts/open-sans-vietnamese/open-sans-vietnamese.svg +375 -0
  81. package/fonts/open-sans-vietnamese/open-sans-vietnamese.ttf +0 -0
  82. package/fonts/open-sans-vietnamese/open-sans-vietnamese.woff +0 -0
  83. package/fonts/rubik-medium/Rubik-Medium.svg +8831 -0
  84. package/fonts/rubik-medium/Rubik-Medium.ttf +0 -0
  85. package/fonts/rubik-medium/Rubik-Medium.woff +0 -0
  86. package/fonts/rubik-regular/Rubik-Regular.svg +8885 -0
  87. package/fonts/rubik-regular/Rubik-Regular.ttf +0 -0
  88. package/fonts/rubik-regular/Rubik-Regular.woff +0 -0
  89. package/fonts/source-sans-pro-latin/source-sans-pro-latin.svg +2642 -0
  90. package/fonts/source-sans-pro-latin/source-sans-pro-latin.ttf +0 -0
  91. package/fonts/source-sans-pro-latin/source-sans-pro-latin.woff +0 -0
  92. package/fonts/source-sans-pro-latin-ext/source-sans-pro-latin-ext.svg +1572 -0
  93. package/fonts/source-sans-pro-latin-ext/source-sans-pro-latin-ext.ttf +0 -0
  94. package/fonts/source-sans-pro-latin-ext/source-sans-pro-latin-ext.woff +0 -0
  95. package/fonts/source-sans-pro-vietnamese/source-sans-pro-vietnamese.svg +428 -0
  96. package/fonts/source-sans-pro-vietnamese/source-sans-pro-vietnamese.ttf +0 -0
  97. package/fonts/source-sans-pro-vietnamese/source-sans-pro-vietnamese.woff +0 -0
  98. package/htmldialogs/ChartContextMenu.html +3 -0
  99. package/htmldialogs/ChartTypeSettingsDialog.html +231 -0
  100. package/htmldialogs/CheckboxIndicatorParameterControl.html +9 -0
  101. package/htmldialogs/CompareInstrumentSettings.html +61 -0
  102. package/htmldialogs/ComparingContextMenu.html +8 -0
  103. package/htmldialogs/ConfirmDialog.html +28 -0
  104. package/htmldialogs/DemoModePopup.html +24 -0
  105. package/htmldialogs/FillPlotStyleControl.html +28 -0
  106. package/htmldialogs/HotkeysSettings.html +28 -0
  107. package/htmldialogs/IndicatorContextMenu.html +18 -0
  108. package/htmldialogs/IndicatorSettingsDialog.html +38 -0
  109. package/htmldialogs/IndicatorsDialog.html +39 -0
  110. package/htmldialogs/IndicatorsOverview_en.html +1694 -0
  111. package/htmldialogs/IndicatorsOverview_ua.html +9 -0
  112. package/htmldialogs/InstrumentSearchDialog.html +22 -0
  113. package/htmldialogs/LinePlotStyleControl.html +33 -0
  114. package/htmldialogs/MainSettings.html +292 -0
  115. package/htmldialogs/MarketEventPopup.html +27 -0
  116. package/htmldialogs/MarketEventsSettingsDialog.html +22 -0
  117. package/htmldialogs/NumericIndicatorParameter.html +8 -0
  118. package/htmldialogs/OpenChart.html +6 -0
  119. package/htmldialogs/PatternSettingsControl.html +26 -0
  120. package/htmldialogs/PatternsIndicatorSettingsDialog.html +30 -0
  121. package/htmldialogs/PatternsSettingsParameterControl.html +12 -0
  122. package/htmldialogs/PositionShapeContextMenu.html +9 -0
  123. package/htmldialogs/QuantityPopup.html +7 -0
  124. package/htmldialogs/Scrollbar.html +6 -0
  125. package/htmldialogs/SelectableIndicatorParameter.html +9 -0
  126. package/htmldialogs/ShapeContextMenu.html +7 -0
  127. package/htmldialogs/ShapeFibonacciSettingsDialog.html +261 -0
  128. package/htmldialogs/ShapePositionSettingsDialog.html +351 -0
  129. package/htmldialogs/ShapeSettingsDialog.html +521 -0
  130. package/htmldialogs/TimeFrameChangePopup.html +11 -0
  131. package/htmldialogs/TimeIndicatorParameterControl.html +89 -0
  132. package/htmldialogs/Toolbar.html +1710 -0
  133. package/htmldialogs/TooltipView.html +151 -0
  134. package/htmldialogs/TradingContextMenu.html +2 -0
  135. package/img/ContextMenuCheckbox.png +0 -0
  136. package/img/cross-hairs.cur +0 -0
  137. package/img/eu.png +0 -0
  138. package/img/favicon/favicon.ico +0 -0
  139. package/img/fist.cur +0 -0
  140. package/img/point.cur +0 -0
  141. package/img/svg-icons/Illustration-License-b.svg +1 -0
  142. package/img/svg-icons/Illustration-License-w.svg +1 -0
  143. package/img/svg-icons/abcd-label-pattern.svg +1 -0
  144. package/img/svg-icons/abcd-pattern.svg +1 -0
  145. package/img/svg-icons/add.svg +1 -0
  146. package/img/svg-icons/adjust-OHLC.svg +1 -0
  147. package/img/svg-icons/adjust-all.svg +1 -0
  148. package/img/svg-icons/andrews-pitchfork.svg +1 -0
  149. package/img/svg-icons/arrow-down.svg +1 -0
  150. package/img/svg-icons/arrow-left.svg +3 -0
  151. package/img/svg-icons/arrow-right.svg +3 -0
  152. package/img/svg-icons/arrow-type-type.svg +3 -0
  153. package/img/svg-icons/arrow-up.svg +1 -0
  154. package/img/svg-icons/arrow.svg +1 -0
  155. package/img/svg-icons/balloon.svg +1 -0
  156. package/img/svg-icons/brand-x.svg +1 -0
  157. package/img/svg-icons/calculator.svg +15 -0
  158. package/img/svg-icons/chartType-area.svg +1 -0
  159. package/img/svg-icons/chartType-bars.svg +1 -0
  160. package/img/svg-icons/chartType-candles-volume.svg +1 -0
  161. package/img/svg-icons/chartType-candles.svg +1 -0
  162. package/img/svg-icons/chartType-colored-bars.svg +1 -0
  163. package/img/svg-icons/chartType-equi-volume-shadow.svg +1 -0
  164. package/img/svg-icons/chartType-equi-volume.svg +1 -0
  165. package/img/svg-icons/chartType-heikin-ashi.svg +1 -0
  166. package/img/svg-icons/chartType-hollow-candles.svg +1 -0
  167. package/img/svg-icons/chartType-kagi.svg +1 -0
  168. package/img/svg-icons/chartType-line-break.svg +1 -0
  169. package/img/svg-icons/chartType-line.svg +1 -0
  170. package/img/svg-icons/chartType-point-figure.svg +1 -0
  171. package/img/svg-icons/chartType-range-bars.svg +1 -0
  172. package/img/svg-icons/chartType-renko.svg +1 -0
  173. package/img/svg-icons/chevron-right-double.svg +3 -0
  174. package/img/svg-icons/chevron.svg +3 -0
  175. package/img/svg-icons/circle.svg +1 -0
  176. package/img/svg-icons/close-floating-toolbar.svg +1 -0
  177. package/img/svg-icons/close-pane.svg +1 -0
  178. package/img/svg-icons/close-rect.svg +4 -0
  179. package/img/svg-icons/close-windows.svg +1 -0
  180. package/img/svg-icons/close.svg +4 -0
  181. package/img/svg-icons/compare.svg +1 -0
  182. package/img/svg-icons/copy.svg +1 -0
  183. package/img/svg-icons/cursorType-arrow-with-labels.svg +1 -0
  184. package/img/svg-icons/cursorType-arrow.svg +3 -0
  185. package/img/svg-icons/cursorType-crosshairs.svg +1 -0
  186. package/img/svg-icons/cursorType-point.svg +1 -0
  187. package/img/svg-icons/cyclic-lines.svg +1 -0
  188. package/img/svg-icons/default-screen.svg +11 -0
  189. package/img/svg-icons/demo-popup-bg.svg +1 -0
  190. package/img/svg-icons/diamond.svg +1 -0
  191. package/img/svg-icons/dot.svg +1 -0
  192. package/img/svg-icons/drag.svg +1 -0
  193. package/img/svg-icons/elliott-wave-pattern.svg +1 -0
  194. package/img/svg-icons/ellipse.svg +1 -0
  195. package/img/svg-icons/error-channel.svg +1 -0
  196. package/img/svg-icons/export.svg +1 -0
  197. package/img/svg-icons/extended-line.svg +3 -0
  198. package/img/svg-icons/fibonacci-arcs.svg +1 -0
  199. package/img/svg-icons/fibonacci-ellipses.svg +1 -0
  200. package/img/svg-icons/fibonacci-extensions.svg +1 -0
  201. package/img/svg-icons/fibonacci-fan.svg +1 -0
  202. package/img/svg-icons/fibonacci-retracements.svg +1 -0
  203. package/img/svg-icons/fibonacci-time-zones.svg +1 -0
  204. package/img/svg-icons/fintatech.svg +1 -0
  205. package/img/svg-icons/free-hand.svg +1 -0
  206. package/img/svg-icons/full-screen.svg +11 -0
  207. package/img/svg-icons/full-windows.svg +12 -0
  208. package/img/svg-icons/gann-fan.svg +1 -0
  209. package/img/svg-icons/general-delete.svg +3 -0
  210. package/img/svg-icons/head-shoulders-pattern.svg +1 -0
  211. package/img/svg-icons/horizontal-line.svg +1 -0
  212. package/img/svg-icons/horizontal-ray.svg +3 -0
  213. package/img/svg-icons/html-code.svg +1 -0
  214. package/img/svg-icons/image.svg +5 -0
  215. package/img/svg-icons/images.svg +1 -0
  216. package/img/svg-icons/in-shape-mode.svg +1 -0
  217. package/img/svg-icons/insert-indicator.svg +1 -0
  218. package/img/svg-icons/kings-crown-pattern.svg +1 -0
  219. package/img/svg-icons/latest-position.svg +1 -0
  220. package/img/svg-icons/line-segment.svg +1 -0
  221. package/img/svg-icons/link.svg +5 -0
  222. package/img/svg-icons/lock.svg +3 -0
  223. package/img/svg-icons/magnet-mode.svg +1 -0
  224. package/img/svg-icons/measure.svg +1 -0
  225. package/img/svg-icons/multiply-link.svg +5 -0
  226. package/img/svg-icons/note.svg +1 -0
  227. package/img/svg-icons/number-label-pattern.svg +1 -0
  228. package/img/svg-icons/open-OHLC-pane.svg +1 -0
  229. package/img/svg-icons/options.svg +1 -0
  230. package/img/svg-icons/period.svg +1 -0
  231. package/img/svg-icons/polygon.svg +1 -0
  232. package/img/svg-icons/polyline.svg +1 -0
  233. package/img/svg-icons/position-long.svg +90 -0
  234. package/img/svg-icons/position-long_og.svg +81 -0
  235. package/img/svg-icons/position-short.svg +90 -0
  236. package/img/svg-icons/position-short_og.svg +89 -0
  237. package/img/svg-icons/quadrant-lines.svg +1 -0
  238. package/img/svg-icons/raff-regression.svg +1 -0
  239. package/img/svg-icons/ray.svg +3 -0
  240. package/img/svg-icons/rectangle.svg +1 -0
  241. package/img/svg-icons/redo-new.svg +3 -0
  242. package/img/svg-icons/redo.svg +1 -0
  243. package/img/svg-icons/remove-all-indicators.svg +1 -0
  244. package/img/svg-icons/remove-all-shapes.svg +1 -0
  245. package/img/svg-icons/replay-jump.svg +1 -0
  246. package/img/svg-icons/replay-pause.svg +1 -0
  247. package/img/svg-icons/replay-play.svg +1 -0
  248. package/img/svg-icons/replay-skip-end.svg +1 -0
  249. package/img/svg-icons/replay-skip-one.svg +1 -0
  250. package/img/svg-icons/save-as-image.svg +1 -0
  251. package/img/svg-icons/screenshot.svg +5 -0
  252. package/img/svg-icons/scroll-bottom.svg +1 -0
  253. package/img/svg-icons/scroll-left.svg +1 -0
  254. package/img/svg-icons/scroll-right.svg +1 -0
  255. package/img/svg-icons/scroll-top.svg +1 -0
  256. package/img/svg-icons/search.svg +1 -0
  257. package/img/svg-icons/speed-lines.svg +1 -0
  258. package/img/svg-icons/square.svg +1 -0
  259. package/img/svg-icons/star.svg +4 -0
  260. package/img/svg-icons/stash.svg +4 -0
  261. package/img/svg-icons/stick-to-bar.svg +1 -0
  262. package/img/svg-icons/stick-to-close.svg +1 -0
  263. package/img/svg-icons/stick-to-high.svg +1 -0
  264. package/img/svg-icons/stick-to-low.svg +1 -0
  265. package/img/svg-icons/stick-to-open.svg +1 -0
  266. package/img/svg-icons/sticky-mode-off.svg +1 -0
  267. package/img/svg-icons/tcdPane-alert-indicator.svg +1 -0
  268. package/img/svg-icons/tcdPane-close.svg +1 -0
  269. package/img/svg-icons/tcdPane-down.svg +1 -0
  270. package/img/svg-icons/tcdPane-expand-closed.svg +1 -0
  271. package/img/svg-icons/tcdPane-expand.svg +1 -0
  272. package/img/svg-icons/tcdPane-maximize.svg +1 -0
  273. package/img/svg-icons/tcdPane-options.svg +1 -0
  274. package/img/svg-icons/tcdPane-remove-indicator.svg +1 -0
  275. package/img/svg-icons/tcdPane-restore.svg +1 -0
  276. package/img/svg-icons/tcdPane-toggle.svg +1 -0
  277. package/img/svg-icons/tcdPane-up.svg +1 -0
  278. package/img/svg-icons/template-delete.svg +1 -0
  279. package/img/svg-icons/template-edit.svg +1 -0
  280. package/img/svg-icons/template-ok.svg +1 -0
  281. package/img/svg-icons/template.svg +1 -0
  282. package/img/svg-icons/text-editor-b.svg +1 -0
  283. package/img/svg-icons/text-editor-i.svg +1 -0
  284. package/img/svg-icons/text-editor-u.svg +1 -0
  285. package/img/svg-icons/text.svg +1 -0
  286. package/img/svg-icons/tirone-levels.svg +1 -0
  287. package/img/svg-icons/toggle-shapes.svg +1 -0
  288. package/img/svg-icons/trade-manager.svg +1 -0
  289. package/img/svg-icons/trend-angle.svg +1 -0
  290. package/img/svg-icons/trend-channel.svg +1 -0
  291. package/img/svg-icons/triangle-pattern.svg +1 -0
  292. package/img/svg-icons/triangle.svg +1 -0
  293. package/img/svg-icons/undo-new.svg +3 -0
  294. package/img/svg-icons/undo.svg +1 -0
  295. package/img/svg-icons/unlock.svg +3 -0
  296. package/img/svg-icons/vertical-line.svg +1 -0
  297. package/img/svg-icons/visibleProfile.svg +1 -0
  298. package/img/svg-icons/web-link.svg +1 -0
  299. package/img/svg-icons/x.svg +3 -0
  300. package/img/svg-icons/xabcd-pattern.svg +1 -0
  301. package/img/svg-icons/zoom-by-area.svg +1 -0
  302. package/img/svg-icons/zoom.svg +1 -0
  303. package/img/usa.png +0 -0
  304. package/index-dark.html +132 -0
  305. package/index.html +229 -0
  306. package/localization/en.json +1646 -0
  307. package/localization/uk.json +1597 -0
  308. package/multiple-charts.html +162 -0
  309. package/package.json +62 -0
  310. package/scripts/FintaChart.min.js +70 -0
  311. package/scripts/frameworks/Intl.min.js +4 -0
  312. package/scripts/frameworks/bootstrap.v3.datetimepicker.min.js +2605 -0
  313. package/scripts/frameworks/detectizr.min.js +1 -0
  314. package/scripts/frameworks/dom-to-image-more.min.js +3 -0
  315. package/scripts/frameworks/i18nextXHRBackend.min.js +1 -0
  316. package/scripts/frameworks/jquery-i18next.min.js +1 -0
  317. package/scripts/frameworks/jquery-ui.min.js +8 -0
  318. package/scripts/frameworks/jquery.min.js +3 -0
  319. package/scripts/frameworks/jquery.ui.touch-punch.min.js +1 -0
  320. package/scripts/frameworks/moment.min.js +1216 -0
  321. package/scripts/frameworks-modified/bootstrap-select.js +1024 -0
  322. package/scripts/frameworks-modified/i18next.js +2075 -0
  323. package/scripts/frameworks-modified/jquery.autocolumnlist.js +48 -0
  324. package/scripts/frameworks-modified/jquery.resizable.js +229 -0
  325. package/scripts/frameworks-modified/spectrum.js +2279 -0
  326. package/scripts/frameworks-modified/switchery.js +1957 -0
  327. package/scripts/frameworks-modified/toastr.js +414 -0
  328. package/scripts/jsdataadapters/fileDataAdapter.js +129 -0
  329. package/scripts/jsdataadapters/restDataAdapter.js +149 -0
  330. package/scripts/jsdataadapters/webSocketDataAdapter.js +114 -0
  331. package/scripts/miscs/templateFileDataAdapter.js +17 -0
  332. package/scripts/themes/beetTheme.js +2999 -0
  333. package/scripts/themes/darkTheme.js +3004 -0
  334. package/scripts/themes/defaultTheme.js +3095 -0
  335. package/scripts/themes/fintatechDarkTheme.js +3005 -0
  336. package/scripts/themes/grayTheme.js +3004 -0
  337. package/scripts/themes/oliveTheme.js +3004 -0
  338. package/scripts/themes/orangeTheme.js +3004 -0
  339. package/scripts/themes/purpleTheme.js +3004 -0
  340. package/scripts/themes/skyTheme.js +3009 -0
  341. package/scripts/themes/tealTheme.js +3004 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [3.1.0] - 2026-04-18
9
+
10
+ ### Added
11
+
12
+ - Initial public release of `@fintatech/fintachart`
13
+
14
+ [3.1.0]: https://github.com/fintatech/fintachart/releases/tag/v3.1.0
package/LICENSE.md ADDED
@@ -0,0 +1,63 @@
1
+ # License
2
+
3
+ Copyright (c) Fintatech B.V. (https://fintatech.com)
4
+
5
+ Permission is hereby granted, free of charge, to any person or organization
6
+ (the "Licensee") to use this software and associated documentation files
7
+ (the "Software") in any project, whether commercial or non-commercial,
8
+ subject to the following conditions:
9
+
10
+ ## 1. Restrictions on Modification
11
+ The Software may not be modified, adapted, reverse-engineered, decompiled,
12
+ or otherwise altered in any form.
13
+
14
+ ## 2. Restrictions on Distribution and Sublicensing
15
+ The Software may not be redistributed, sublicensed, resold, or otherwise
16
+ made available to third parties as a standalone product, library, SDK,
17
+ component, or as part of any offering intended for third-party integration
18
+ or development.
19
+
20
+ Serving the Software to end users as part of the Licensee's own hosted
21
+ application or website (e.g., loading the Software in end users' browsers
22
+ when they access the Licensee's platform) is permitted under a valid
23
+ commercial license and is not considered redistribution under this clause.
24
+
25
+ ## 3. Notice Requirement
26
+ This copyright notice and permission notice shall be included in all
27
+ copies or substantial portions of the Software.
28
+
29
+ ## 4. License Requirement for Deployed Use
30
+ Use of the Software is permitted without a commercial license solely within
31
+ local development environments (e.g., `localhost`, `127.0.0.1`, and loopback
32
+ addresses accessed only by the developer). Any use of the Software in a
33
+ deployed or network-accessible environment, including but not limited to
34
+ production systems, staging environments, internal tools, intranet sites,
35
+ or publicly accessible websites, requires a valid commercial license issued
36
+ by Fintatech B.V.
37
+
38
+ Commercial licenses are issued for specific domains, properties, or
39
+ entities as defined in the license agreement. A single license does not
40
+ extend to unrelated platforms, subsidiaries, or additional domains beyond
41
+ those explicitly covered by the agreement.
42
+
43
+ Commercial licenses may be obtained by contacting **sales@fintatech.com**.
44
+
45
+ ## 5. Runtime License Verification
46
+ The Software may include technical measures that automatically verify the
47
+ presence and validity of a commercial license when executed outside of a
48
+ local development environment. By using the Software, the Licensee
49
+ acknowledges and agrees to such verification. Any attempt to disable,
50
+ bypass, circumvent, or interfere with these mechanisms, including any
51
+ modification of license-enforcement logic, is strictly prohibited.
52
+
53
+ ---
54
+
55
+ ## Disclaimer
56
+
57
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
58
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
59
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL
60
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
61
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING
62
+ FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
63
+ DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,151 @@
1
+ <div align="center">
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">
4
+ </a>
5
+
6
+ <h1>FintaChart</h1>
7
+
8
+ [![npm version](https://img.shields.io/npm/v/@fintatech/fintachart.svg)](https://www.npmjs.com/package/@fintatech/fintachart)
9
+ </div>
10
+
11
+ High-performance financial charting component for web applications. Designed for trading platforms, financial dashboards, and any HTML-based project that needs interactive market data visualization.
12
+
13
+ ## Features
14
+
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
17
+ - **Drawing and analysis tools** — Lines, channels, rectangles, circles, ellipses, polygons, freehand, arrows, text and image annotations
18
+ - **Fibonacci tools** — Retracements, Fan, Extensions, Arcs, Ellipses, Time Zones
19
+ - **Trend analysis** — Andrews' Pitchfork, Raff Regression, Error Channel, Gann Fan, Speed Lines, Quadrant Lines, Tirone Levels
20
+ - **Pattern recognition** — Head & Shoulders, ABCD, XABCD, Elliott Wave, Triangle, Kings Crown
21
+ - **Multiple data sources** — File, REST API, and WebSocket adapters with custom datafeed support
22
+ - **10 built-in themes** — Dark, Light, Gray, Olive, Orange, Purple, Sky, Teal, Beet, Fintatech Dark
23
+ - **Multi-chart layouts** — Multiple synchronized charts with shared toolbar
24
+ - **Trading integration** — Orders, alerts, positions, SL/TP with full event system
25
+ - **Calendar events** — Economic calendar overlay on chart
26
+ - **Localization** — English and Ukrainian, extensible
27
+ - **Touch support** — Mobile and tablet ready
28
+ - **State management** — Save/restore workspace, indicators, shapes, templates
29
+
30
+ ## Installation
31
+
32
+ ```bash
33
+ npm install @fintatech/fintachart
34
+ ```
35
+
36
+ ## Quick Start
37
+
38
+ ### HTML
39
+
40
+ ```html
41
+ <!-- 1. Styles -->
42
+ <link rel="stylesheet" href="node_modules/@fintatech/fintachart/css/external/spectrum.min.css">
43
+ <link rel="stylesheet" href="node_modules/@fintatech/fintachart/css/external/toastr.min.css">
44
+ <link rel="stylesheet" href="node_modules/@fintatech/fintachart/css/external/jqNumericField.min.css">
45
+ <link rel="stylesheet" href="node_modules/@fintatech/fintachart/css/FintaChart.min.css">
46
+
47
+ <!-- 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
+ <script src="node_modules/@fintatech/fintachart/scripts/frameworks/Intl.min.js"></script>
52
+ <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
+
55
+ <!-- 3. Main bundle -->
56
+ <script src="node_modules/@fintatech/fintachart/scripts/FintaChart.min.js"></script>
57
+
58
+ <!-- 4. Theme -->
59
+ <script src="node_modules/@fintatech/fintachart/scripts/themes/defaultTheme.js"></script>
60
+
61
+ <div id="chart"></div>
62
+
63
+ <script>
64
+ // 5. Resource paths — must be set before creating the chart
65
+ FintaChart.ResourcePath.localization = 'node_modules/@fintatech/fintachart/localization/';
66
+ FintaChart.ResourcePath.htmlDialogs = 'node_modules/@fintatech/fintachart/htmldialogs/';
67
+ FintaChart.SvgLoader.path = 'node_modules/@fintatech/fintachart/img/svg-icons/';
68
+
69
+ // 6. Create chart
70
+ var chart = new FintaChart.Chart({
71
+ container: '#chart',
72
+ datafeed: myDatafeed,
73
+ instrument: {
74
+ symbol: 'EUR/GBP',
75
+ exchange: 'FOREX',
76
+ tickSize: 0.00001
77
+ },
78
+ timeFrame: { interval: 1, periodicity: FintaChart.Periodicity.HOUR },
79
+ theme: defaultTheme,
80
+ showToolbar: true,
81
+ showScrollbar: true,
82
+ supportedTimeFrames: ['1 Minutes', '5 Minutes', '15 Minutes', '1 Hour', '4 Hours', '1 Day', '1 Week']
83
+ });
84
+ </script>
85
+ ```
86
+
87
+ ### React + TypeScript
88
+
89
+ ```tsx
90
+ import { useEffect, useRef } from 'react';
91
+
92
+ interface ChartProps {
93
+ instrument: FintaChart.IInstrument;
94
+ }
95
+
96
+ export function Chart({ instrument }: ChartProps) {
97
+ const containerRef = useRef<HTMLDivElement>(null);
98
+ const chartRef = useRef<FintaChart.Chart | null>(null);
99
+
100
+ useEffect(() => {
101
+ if (!containerRef.current) return;
102
+
103
+ FintaChart.ResourcePath.localization = 'node_modules/@fintatech/fintachart/localization/';
104
+ FintaChart.ResourcePath.htmlDialogs = 'node_modules/@fintatech/fintachart/htmldialogs/';
105
+ FintaChart.SvgLoader.path = 'node_modules/@fintatech/fintachart/img/svg-icons/';
106
+
107
+ chartRef.current = new FintaChart.Chart({
108
+ container: containerRef.current,
109
+ datafeed: myDatafeed,
110
+ instrument,
111
+ timeFrame: { interval: 1, periodicity: FintaChart.Periodicity.MINUTE },
112
+ theme: defaultTheme,
113
+ showToolbar: true,
114
+ showScrollbar: true,
115
+ supportedTimeFrames: ['1 Minutes', '5 Minutes', '15 Minutes', '1 Hour', '4 Hours', '1 Day']
116
+ });
117
+
118
+ return () => {
119
+ chartRef.current?.dispose();
120
+ chartRef.current = null;
121
+ };
122
+ }, [instrument]);
123
+
124
+ return <div ref={containerRef} style={{ width: '100%', height: '100%' }} />;
125
+ }
126
+ ```
127
+
128
+ ## Documentation and Examples
129
+
130
+ Full documentation, API reference, and 14 runnable examples live on GitHub:
131
+
132
+ - **Docs:** https://github.com/fintatech/fintachart/tree/master/docs
133
+ - **Examples:** https://github.com/fintatech/fintachart/tree/master/examples
134
+ - **Repository:** https://github.com/fintatech/fintachart
135
+
136
+ ## Browser Compatibility
137
+
138
+ | Browser | Version |
139
+ |---------|---------|
140
+ | Chrome | 29+ |
141
+ | Safari | 9+ |
142
+ | Firefox | 28+ |
143
+ | Opera | 17+ |
144
+ | Edge | 17+ |
145
+ | Android Browser | 5+ |
146
+
147
+ ## License
148
+
149
+ Copyright (c) Fintatech B.V. All rights reserved.
150
+
151
+ Free to use in local development environments. A commercial license is required for any deployed or network-accessible use. See [LICENSE.md](https://github.com/fintatech/fintachart/tree/master/LICENSE.md) for full terms, or contact **sales@fintatech.com**.
@@ -0,0 +1,38 @@
1
+ # Third-Party Notices
2
+
3
+ Trading Chart Designer includes the following third-party libraries,
4
+ all distributed under the MIT License:
5
+
6
+ | Library | Version | License | URL |
7
+ |---------|---------|---------|-----|
8
+ | jQuery | 3.x | MIT | https://jquery.com |
9
+ | jQuery UI | 1.x | MIT | https://jqueryui.com |
10
+ | jQuery UI Touch Punch | 0.2.3 | MIT | https://github.com/furf/jquery-ui-touch-punch |
11
+ | Moment.js | 2.x | MIT | https://momentjs.com |
12
+ | Intl.js | 1.x | MIT | https://github.com/nicubarbaros/Intl.js |
13
+ | Detectizr | 2.x | MIT | https://github.com/nicubarbaros/detectizr |
14
+ | dom-to-image-more | 3.x | MIT | https://github.com/1904labs/dom-to-image-more |
15
+ | i18next XHR Backend | 3.x | MIT | https://github.com/i18next/i18next-xhr-backend |
16
+ | jquery-i18next | 1.x | MIT | https://github.com/i18next/jquery-i18next |
17
+ | Bootstrap 3 Datetimepicker | 4.x | MIT | https://github.com/Eonasdan/bootstrap-datetimepicker |
18
+
19
+ ## MIT License
20
+
21
+ Permission is hereby granted, free of charge, to any person obtaining
22
+ a copy of this software and associated documentation files (the
23
+ "Software"), to deal in the Software without restriction, including
24
+ without limitation the rights to use, copy, modify, merge, publish,
25
+ distribute, sublicense, and/or sell copies of the Software, and to
26
+ permit persons to whom the Software is furnished to do so, subject to
27
+ the following conditions:
28
+
29
+ The above copyright notice and this permission notice shall be
30
+ included in all copies or substantial portions of the Software.
31
+
32
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
34
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
36
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
37
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
38
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,165 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <title>FintaChart Web & Mobile - Demo</title>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
8
+
9
+ <link rel="apple-touch-icon-precomposed" href="img/favicon/favicon.ico">
10
+ <link rel="shortcut icon" href="img/favicon/favicon.ico">
11
+
12
+ <link rel="stylesheet" href="css/external/spectrum.min.css">
13
+ <link rel="stylesheet" href="css/external/toastr.min.css">
14
+ <link rel="stylesheet" href="css/external/jqNumericField.min.css">
15
+ <link rel="stylesheet" href="css/FintaChart.min.css">
16
+
17
+ <script src="scripts/frameworks/jquery.min.js"></script>
18
+ <script src="scripts/frameworks/jquery-ui.min.js"></script>
19
+ <script src="scripts/frameworks/Intl.min.js"></script>
20
+ <script src="scripts/frameworks/moment.min.js"></script>
21
+ <script src="scripts/frameworks/detectizr.min.js"></script>
22
+ <script src="scripts/frameworks/dom-to-image-more.min.js"></script>
23
+ <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
+ <script src="scripts/FintaChart.min.js"></script>
27
+ <script src="scripts/jsdataadapters/fileDataAdapter.js"></script>
28
+ <script src="scripts/jsdataadapters/restDataAdapter.js"></script>
29
+ <script src="scripts/jsdataadapters/webSocketDataAdapter.js"></script>
30
+ <script src="scripts/themes/darkTheme.js"></script>
31
+ <script src="scripts/themes/beetTheme.js"></script>
32
+ <script src="scripts/themes/defaultTheme.js"></script>
33
+ <script src="scripts/themes/grayTheme.js"></script>
34
+ <script src="scripts/themes/oliveTheme.js"></script>
35
+ <script src="scripts/themes/orangeTheme.js"></script>
36
+ <script src="scripts/themes/purpleTheme.js"></script>
37
+ <script src="scripts/themes/skyTheme.js"></script>
38
+ <script src="scripts/themes/tealTheme.js"></script>
39
+ <script src="scripts/themes/fintatechDarkTheme.js"></script>
40
+ <script src="scripts/miscs/templateFileDataAdapter.js"></script>
41
+
42
+ <style>
43
+ html,
44
+ body {
45
+ height: 100%;
46
+ margin: 0;
47
+ overflow: hidden;
48
+ }
49
+
50
+ #chartContainer {
51
+ width: 100%;
52
+ height: 100%;
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body id="tcdBody">
58
+ <div id="chartContainer"></div>
59
+ <script>
60
+ FintaChart.ResourcePath.localization = 'localization/';
61
+ const datafeed = fileDatafeed;
62
+
63
+ $(function () {
64
+ datafeed.init().then(df => {
65
+ let config = {
66
+ chartContainer: '#chartContainer',
67
+ width: '100%',
68
+ height: '100%',
69
+ theme: getTheme(),
70
+ datafeed: df,
71
+ templateDataProvider: templatesDummyDataProvider,
72
+ instrument: {
73
+ symbol: "EUR/GBP",
74
+ exchange: "FOREX",
75
+ company: "",
76
+ tickSize: 0.00001
77
+ },
78
+ supportedTimeFrames: ['1 Minute', '5 Minutes', '15 Minutes', '1 Hour',
79
+ '4 Hours'/*, '1 Day', '1 Month', '1 Year'*/
80
+ ]
81
+ };
82
+ const chart = window.globalChart = $(config.chartContainer).FintaChart(config);
83
+
84
+ drawBasicObjects(chart)
85
+ });
86
+
87
+ function getTheme() {
88
+ const urlParams = new URLSearchParams(window.location.search);
89
+ const themeName = urlParams.get('theme') || '';
90
+
91
+ switch (themeName.toLowerCase()) {
92
+ case 'fintatech':
93
+ return fintatechDarkTheme;
94
+ case 'dark':
95
+ return darkTheme;
96
+ case 'beet':
97
+ return beetTheme;
98
+ case 'gray':
99
+ return grayTheme;
100
+ case 'olive':
101
+ return oliveTheme;
102
+ case 'orange':
103
+ return orangeTheme;
104
+ case 'purple':
105
+ return purpleTheme;
106
+ case 'sky':
107
+ return skyTheme;
108
+ case 'teal':
109
+ return tealTheme;
110
+ default:
111
+ return defaultTheme;
112
+ }
113
+ }
114
+
115
+ function drawBasicObjects(chart) {
116
+ const buyDate = new Date(2018, 8, 20, 5, 44);
117
+ const buyPrice = 0.8872;
118
+ const sellDate = new Date(2018, 9, 4, 5, 59);
119
+ const sellPrice = 0.88470;
120
+ const shapes = [];
121
+
122
+ shapes.push(generateUpArrow(buyDate, buyPrice));
123
+ shapes.push(generateDownArrow(sellDate, sellPrice));
124
+ shapes.push(generateLine(buyDate, buyPrice, sellDate, sellPrice));
125
+
126
+ chart.primaryPane.addShapes(shapes);
127
+ }
128
+
129
+ function generateLine(startDate, startValue, endDate, endValue) {
130
+ const lineSegment = new FintaChart.LineSegmentShape();
131
+ lineSegment.points[0].date = startDate;
132
+ lineSegment.points[0].value = startValue;
133
+ lineSegment.appendVisualDataPoint(new FintaChart.DataPoint({
134
+ date: endDate,
135
+ value: endValue,
136
+ }));
137
+ lineSegment.locked = true;
138
+
139
+ return lineSegment;
140
+ }
141
+
142
+ function generateUpArrow(date, price) {
143
+ const arrowUp = new FintaChart.ArrowUpShape();
144
+ arrowUp.points[0].date = date;
145
+ arrowUp.points[0].value = price;
146
+ arrowUp.tooltip.text = `BUY @ ${price}`;
147
+ arrowUp.locked = true;
148
+
149
+ return arrowUp;
150
+ }
151
+
152
+ function generateDownArrow(date, price) {
153
+ const arrowDown = new FintaChart.ArrowDownShape();
154
+ arrowDown.points[0].date = date;
155
+ arrowDown.points[0].value = price;
156
+ arrowDown.tooltip.text = `SELL @ ${price}`;
157
+ arrowDown.locked = true;
158
+
159
+ return arrowDown;
160
+ }
161
+ });
162
+ </script>
163
+ </body>
164
+
165
+ </html>