binbot-charts 0.6.2 → 0.6.8

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 (363) hide show
  1. package/babel.config.json +13 -0
  2. package/browserslist +31 -0
  3. package/dist/{TVChartContainer.d.mts → main.d.mts} +10 -10
  4. package/dist/{TVChartContainer.d.ts → main.d.ts} +10 -10
  5. package/dist/{TVChartContainer.js → main.js} +25 -25
  6. package/dist/main.js.map +1 -0
  7. package/dist/{TVChartContainer.mjs → main.mjs} +22 -22
  8. package/dist/main.mjs.map +1 -0
  9. package/package.json +4 -8
  10. package/public/charting_library/charting_library.standalone.js +1 -0
  11. package/public/index.html +23 -0
  12. package/src/App.css +26 -0
  13. package/src/App.tsx +100 -0
  14. package/src/charting-library-interfaces.d.ts +36 -0
  15. package/src/datafeed.ts +283 -0
  16. package/src/helpers.ts +41 -0
  17. package/src/index.css +5 -0
  18. package/src/index.tsx +10 -0
  19. package/src/main.tsx +151 -0
  20. package/src/streaming.ts +124 -0
  21. package/tsconfig.json +97 -0
  22. package/tsup.config.ts +10 -0
  23. package/dist/TVChartContainer.js.map +0 -1
  24. package/dist/TVChartContainer.mjs.map +0 -1
  25. package/dist/charting_library/ar-tv-chart.f0bc1e45.html +0 -1
  26. package/dist/charting_library/charting_library.standalone.js +0 -540
  27. package/dist/charting_library/cs-tv-chart.f0bc1e45.html +0 -1
  28. package/dist/charting_library/da_DK-tv-chart.f0bc1e45.html +0 -1
  29. package/dist/charting_library/de-tv-chart.f0bc1e45.html +0 -1
  30. package/dist/charting_library/el-tv-chart.f0bc1e45.html +0 -1
  31. package/dist/charting_library/es-tv-chart.f0bc1e45.html +0 -1
  32. package/dist/charting_library/et_EE-tv-chart.f0bc1e45.html +0 -1
  33. package/dist/charting_library/fa-tv-chart.f0bc1e45.html +0 -1
  34. package/dist/charting_library/fr-tv-chart.f0bc1e45.html +0 -1
  35. package/dist/charting_library/he_IL-tv-chart.f0bc1e45.html +0 -1
  36. package/dist/charting_library/hu_HU-tv-chart.f0bc1e45.html +0 -1
  37. package/dist/charting_library/id_ID-tv-chart.f0bc1e45.html +0 -1
  38. package/dist/charting_library/it-tv-chart.f0bc1e45.html +0 -1
  39. package/dist/charting_library/ja-tv-chart.f0bc1e45.html +0 -1
  40. package/dist/charting_library/ko-tv-chart.f0bc1e45.html +0 -1
  41. package/dist/charting_library/ms_MY-tv-chart.f0bc1e45.html +0 -1
  42. package/dist/charting_library/nl_NL-tv-chart.f0bc1e45.html +0 -1
  43. package/dist/charting_library/no-tv-chart.f0bc1e45.html +0 -1
  44. package/dist/charting_library/pl-tv-chart.f0bc1e45.html +0 -1
  45. package/dist/charting_library/pt-tv-chart.f0bc1e45.html +0 -1
  46. package/dist/charting_library/ro-tv-chart.f0bc1e45.html +0 -1
  47. package/dist/charting_library/ru-tv-chart.f0bc1e45.html +0 -1
  48. package/dist/charting_library/sk_SK-tv-chart.f0bc1e45.html +0 -1
  49. package/dist/charting_library/sv-tv-chart.f0bc1e45.html +0 -1
  50. package/dist/charting_library/th-tv-chart.f0bc1e45.html +0 -1
  51. package/dist/charting_library/tr-tv-chart.f0bc1e45.html +0 -1
  52. package/dist/charting_library/vi-tv-chart.f0bc1e45.html +0 -1
  53. package/dist/charting_library/zh-tv-chart.f0bc1e45.html +0 -1
  54. package/dist/charting_library/zh_TW-tv-chart.f0bc1e45.html +0 -1
  55. /package/{dist → public}/charting_library/bundles/0.d46f0b5e9380d7893de5.js +0 -0
  56. /package/{dist → public}/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
  57. /package/{dist → public}/charting_library/bundles/1.92647ec0a7beb8b2898d.css +0 -0
  58. /package/{dist → public}/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css +0 -0
  59. /package/{dist → public}/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +0 -0
  60. /package/{dist → public}/charting_library/bundles/10.21e665b7935d5bc4ba64.js +0 -0
  61. /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css +0 -0
  62. /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +0 -0
  63. /package/{dist → public}/charting_library/bundles/11.df012db70159a159d927.js +0 -0
  64. /package/{dist → public}/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +0 -0
  65. /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css +0 -0
  66. /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +0 -0
  67. /package/{dist → public}/charting_library/bundles/13.699469c73d09b7add56d.js +0 -0
  68. /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.css +0 -0
  69. /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.rtl.css +0 -0
  70. /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.css +0 -0
  71. /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css +0 -0
  72. /package/{dist → public}/charting_library/bundles/14.d1148b38d59df9ca5061.js +0 -0
  73. /package/{dist → public}/charting_library/bundles/15.44f2acca80348a1da1a6.js +0 -0
  74. /package/{dist → public}/charting_library/bundles/16.680572949c1125757d35.js +0 -0
  75. /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.css +0 -0
  76. /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css +0 -0
  77. /package/{dist → public}/charting_library/bundles/17.404a01f527881dfff424.js +0 -0
  78. /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.css +0 -0
  79. /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css +0 -0
  80. /package/{dist → public}/charting_library/bundles/18.78de69cfba051874e071.js +0 -0
  81. /package/{dist → public}/charting_library/bundles/19.048f7f5d36fef428ca8d.js +0 -0
  82. /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css +0 -0
  83. /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +0 -0
  84. /package/{dist → public}/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
  85. /package/{dist → public}/charting_library/bundles/2.60931787a6734697ac13.js +0 -0
  86. /package/{dist → public}/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +0 -0
  87. /package/{dist → public}/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +0 -0
  88. /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.css +0 -0
  89. /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.rtl.css +0 -0
  90. /package/{dist → public}/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +0 -0
  91. /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.css +0 -0
  92. /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css +0 -0
  93. /package/{dist → public}/charting_library/bundles/23.256ba98e6a03200bdeba.js +0 -0
  94. /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.css +0 -0
  95. /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.rtl.css +0 -0
  96. /package/{dist → public}/charting_library/bundles/24.bc4fafedb1730259aa10.js +0 -0
  97. /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.css +0 -0
  98. /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css +0 -0
  99. /package/{dist → public}/charting_library/bundles/25.7416db26ed3dcc87c05a.js +0 -0
  100. /package/{dist → public}/charting_library/bundles/26.3aeec391d4e6e19989ee.js +0 -0
  101. /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.css +0 -0
  102. /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css +0 -0
  103. /package/{dist → public}/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +0 -0
  104. /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.css +0 -0
  105. /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css +0 -0
  106. /package/{dist → public}/charting_library/bundles/28.9f103042c27ea2df422f.js +0 -0
  107. /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.css +0 -0
  108. /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css +0 -0
  109. /package/{dist → public}/charting_library/bundles/29.3df8712b85d45a626aa0.js +0 -0
  110. /package/{dist → public}/charting_library/bundles/3.76c398b01b707e5b251c.js +0 -0
  111. /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.css +0 -0
  112. /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.rtl.css +0 -0
  113. /package/{dist → public}/charting_library/bundles/30.0b732ccb122d160480b6.js +0 -0
  114. /package/{dist → public}/charting_library/bundles/31.8d2b7a538755fd1bb760.js +0 -0
  115. /package/{dist → public}/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +0 -0
  116. /package/{dist → public}/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
  117. /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.css +0 -0
  118. /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css +0 -0
  119. /package/{dist → public}/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +0 -0
  120. /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.css +0 -0
  121. /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css +0 -0
  122. /package/{dist → public}/charting_library/bundles/34.c9baa59add71a1e48fd2.js +0 -0
  123. /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.css +0 -0
  124. /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css +0 -0
  125. /package/{dist → public}/charting_library/bundles/35.ed9e360f9686ad3a9497.js +0 -0
  126. /package/{dist → public}/charting_library/bundles/36.1882d1a8d312a0e193e9.js +0 -0
  127. /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.css +0 -0
  128. /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css +0 -0
  129. /package/{dist → public}/charting_library/bundles/37.90129e4904155350d6a1.js +0 -0
  130. /package/{dist → public}/charting_library/bundles/38.41f3d509b61c8af47de3.js +0 -0
  131. /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.css +0 -0
  132. /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css +0 -0
  133. /package/{dist → public}/charting_library/bundles/39.bc1e9ce938fd5152831f.js +0 -0
  134. /package/{dist → public}/charting_library/bundles/4.92647ec0a7beb8b2898d.css +0 -0
  135. /package/{dist → public}/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
  136. /package/{dist → public}/charting_library/bundles/4.c7430b8d89cddcf51345.js +0 -0
  137. /package/{dist → public}/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +0 -0
  138. /package/{dist → public}/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg +0 -0
  139. /package/{dist → public}/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
  140. /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.css +0 -0
  141. /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +0 -0
  142. /package/{dist → public}/charting_library/bundles/41.a19b0ae5d68f855d2753.js +0 -0
  143. /package/{dist → public}/charting_library/bundles/42.494986b0981f6d116fef.js +0 -0
  144. /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.css +0 -0
  145. /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.rtl.css +0 -0
  146. /package/{dist → public}/charting_library/bundles/43.619c5ed4a592cc2965a4.js +0 -0
  147. /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.css +0 -0
  148. /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.rtl.css +0 -0
  149. /package/{dist → public}/charting_library/bundles/44.0a7df307e4f397763ce8.js +0 -0
  150. /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.css +0 -0
  151. /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.rtl.css +0 -0
  152. /package/{dist → public}/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +0 -0
  153. /package/{dist → public}/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +0 -0
  154. /package/{dist → public}/charting_library/bundles/47.a3da3f774c90bd22798e.js +0 -0
  155. /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.css +0 -0
  156. /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +0 -0
  157. /package/{dist → public}/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +0 -0
  158. /package/{dist → public}/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +0 -0
  159. /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.css +0 -0
  160. /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.rtl.css +0 -0
  161. /package/{dist → public}/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
  162. /package/{dist → public}/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
  163. /package/{dist → public}/charting_library/bundles/5.5e97b270ab80d99e9085.js +0 -0
  164. /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.css +0 -0
  165. /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +0 -0
  166. /package/{dist → public}/charting_library/bundles/50.b282667dddcb7fe1569a.js +0 -0
  167. /package/{dist → public}/charting_library/bundles/51.11871c50951db825ace3.js +0 -0
  168. /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.css +0 -0
  169. /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.rtl.css +0 -0
  170. /package/{dist → public}/charting_library/bundles/52.0379a85baae3ab43b15c.js +0 -0
  171. /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.css +0 -0
  172. /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.rtl.css +0 -0
  173. /package/{dist → public}/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +0 -0
  174. /package/{dist → public}/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +0 -0
  175. /package/{dist → public}/charting_library/bundles/55.3c35a629db21ab961f11.js +0 -0
  176. /package/{dist → public}/charting_library/bundles/56.b3e69145c0fee614443d.js +0 -0
  177. /package/{dist → public}/charting_library/bundles/57.236996ec416da4c1f683.js +0 -0
  178. /package/{dist → public}/charting_library/bundles/58.7ffac4ba908b95705e63.js +0 -0
  179. /package/{dist → public}/charting_library/bundles/59.397cb6699b74d64072a8.js +0 -0
  180. /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.css +0 -0
  181. /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.rtl.css +0 -0
  182. /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.css +0 -0
  183. /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +0 -0
  184. /package/{dist → public}/charting_library/bundles/6.2d67b0ae77825dbd455d.js +0 -0
  185. /package/{dist → public}/charting_library/bundles/60.6b5eced2ef8fa856be88.js +0 -0
  186. /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.css +0 -0
  187. /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.rtl.css +0 -0
  188. /package/{dist → public}/charting_library/bundles/61.38a3040c925fadff7b64.js +0 -0
  189. /package/{dist → public}/charting_library/bundles/62.63b309f5f8da9ca013b8.js +0 -0
  190. /package/{dist → public}/charting_library/bundles/63.8255c7f5191bcafcee7c.js +0 -0
  191. /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.css +0 -0
  192. /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.rtl.css +0 -0
  193. /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.css +0 -0
  194. /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +0 -0
  195. /package/{dist → public}/charting_library/bundles/64.ec4b4d03b28c77658dde.js +0 -0
  196. /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.css +0 -0
  197. /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.rtl.css +0 -0
  198. /package/{dist → public}/charting_library/bundles/65.f895a78b4e04257983ff.js +0 -0
  199. /package/{dist → public}/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +0 -0
  200. /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.css +0 -0
  201. /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.rtl.css +0 -0
  202. /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.css +0 -0
  203. /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.rtl.css +0 -0
  204. /package/{dist → public}/charting_library/bundles/67.25fd4b78c8c514988aeb.js +0 -0
  205. /package/{dist → public}/charting_library/bundles/68.8b4124c875484d11fd94.js +0 -0
  206. /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.css +0 -0
  207. /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.rtl.css +0 -0
  208. /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.css +0 -0
  209. /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.rtl.css +0 -0
  210. /package/{dist → public}/charting_library/bundles/69.43756a5c7477730eb0c4.js +0 -0
  211. /package/{dist → public}/charting_library/bundles/7.2c7c4f8a49c6380227de.js +0 -0
  212. /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.css +0 -0
  213. /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.rtl.css +0 -0
  214. /package/{dist → public}/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +0 -0
  215. /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.css +0 -0
  216. /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.rtl.css +0 -0
  217. /package/{dist → public}/charting_library/bundles/71.6a9d0842f5e48f68399c.js +0 -0
  218. /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.css +0 -0
  219. /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.rtl.css +0 -0
  220. /package/{dist → public}/charting_library/bundles/72.e3925aaf38d2c8997638.js +0 -0
  221. /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.css +0 -0
  222. /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +0 -0
  223. /package/{dist → public}/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +0 -0
  224. /package/{dist → public}/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
  225. /package/{dist → public}/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +0 -0
  226. /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.css +0 -0
  227. /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.rtl.css +0 -0
  228. /package/{dist → public}/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +0 -0
  229. /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.css +0 -0
  230. /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +0 -0
  231. /package/{dist → public}/charting_library/bundles/76.5d20bed213399f326603.js +0 -0
  232. /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.css +0 -0
  233. /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.rtl.css +0 -0
  234. /package/{dist → public}/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +0 -0
  235. /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.css +0 -0
  236. /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.rtl.css +0 -0
  237. /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.css +0 -0
  238. /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.rtl.css +0 -0
  239. /package/{dist → public}/charting_library/bundles/78.1d1d47a915b06f1496fb.js +0 -0
  240. /package/{dist → public}/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +0 -0
  241. /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.css +0 -0
  242. /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.rtl.css +0 -0
  243. /package/{dist → public}/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
  244. /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.css +0 -0
  245. /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.rtl.css +0 -0
  246. /package/{dist → public}/charting_library/bundles/8.ffab20b86db484062268.js +0 -0
  247. /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.css +0 -0
  248. /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.rtl.css +0 -0
  249. /package/{dist → public}/charting_library/bundles/80.b5bc6acec3b531a510a9.js +0 -0
  250. /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.css +0 -0
  251. /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.rtl.css +0 -0
  252. /package/{dist → public}/charting_library/bundles/81.e6a1f76017a44b03480b.js +0 -0
  253. /package/{dist → public}/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +0 -0
  254. /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.css +0 -0
  255. /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.rtl.css +0 -0
  256. /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.css +0 -0
  257. /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.rtl.css +0 -0
  258. /package/{dist → public}/charting_library/bundles/83.f3e53bb5a5940e084955.js +0 -0
  259. /package/{dist → public}/charting_library/bundles/84.8acc496b4deeeeefb5af.js +0 -0
  260. /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.css +0 -0
  261. /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.rtl.css +0 -0
  262. /package/{dist → public}/charting_library/bundles/85.39c78fbeaabae306f343.js +0 -0
  263. /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.css +0 -0
  264. /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.rtl.css +0 -0
  265. /package/{dist → public}/charting_library/bundles/86.4bbbb9e6262243419986.js +0 -0
  266. /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.css +0 -0
  267. /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.rtl.css +0 -0
  268. /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.css +0 -0
  269. /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.rtl.css +0 -0
  270. /package/{dist → public}/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +0 -0
  271. /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.css +0 -0
  272. /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.rtl.css +0 -0
  273. /package/{dist → public}/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +0 -0
  274. /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.css +0 -0
  275. /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.rtl.css +0 -0
  276. /package/{dist → public}/charting_library/bundles/89.d8aa43b4b9378722d572.js +0 -0
  277. /package/{dist → public}/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
  278. /package/{dist → public}/charting_library/bundles/9.84ecbc930e51cb26d06a.js +0 -0
  279. /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.css +0 -0
  280. /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.rtl.css +0 -0
  281. /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.css +0 -0
  282. /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.rtl.css +0 -0
  283. /package/{dist → public}/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +0 -0
  284. /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.css +0 -0
  285. /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.rtl.css +0 -0
  286. /package/{dist → public}/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +0 -0
  287. /package/{dist → public}/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +0 -0
  288. /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.css +0 -0
  289. /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.rtl.css +0 -0
  290. /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.css +0 -0
  291. /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.rtl.css +0 -0
  292. /package/{dist → public}/charting_library/bundles/93.6de56ef1975f4a31e542.js +0 -0
  293. /package/{dist → public}/charting_library/bundles/94.231bea5fb12b806ef287.js +0 -0
  294. /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.css +0 -0
  295. /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.rtl.css +0 -0
  296. /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.css +0 -0
  297. /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.rtl.css +0 -0
  298. /package/{dist → public}/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +0 -0
  299. /package/{dist → public}/charting_library/bundles/96.43bb935eee30715afff7.js +0 -0
  300. /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.css +0 -0
  301. /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.rtl.css +0 -0
  302. /package/{dist → public}/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg +0 -0
  303. /package/{dist → public}/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +0 -0
  304. /package/{dist → public}/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
  305. /package/{dist → public}/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +0 -0
  306. /package/{dist → public}/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +0 -0
  307. /package/{dist → public}/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +0 -0
  308. /package/{dist → public}/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +0 -0
  309. /package/{dist → public}/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +0 -0
  310. /package/{dist → public}/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +0 -0
  311. /package/{dist → public}/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +0 -0
  312. /package/{dist → public}/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +0 -0
  313. /package/{dist → public}/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +0 -0
  314. /package/{dist → public}/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +0 -0
  315. /package/{dist → public}/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
  316. /package/{dist → public}/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +0 -0
  317. /package/{dist → public}/charting_library/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
  318. /package/{dist → public}/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +0 -0
  319. /package/{dist → public}/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +0 -0
  320. /package/{dist → public}/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +0 -0
  321. /package/{dist → public}/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +0 -0
  322. /package/{dist → public}/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +0 -0
  323. /package/{dist → public}/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +0 -0
  324. /package/{dist → public}/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +0 -0
  325. /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.css +0 -0
  326. /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.rtl.css +0 -0
  327. /package/{dist → public}/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +0 -0
  328. /package/{dist → public}/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +0 -0
  329. /package/{dist → public}/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +0 -0
  330. /package/{dist → public}/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +0 -0
  331. /package/{dist → public}/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +0 -0
  332. /package/{dist → public}/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +0 -0
  333. /package/{dist → public}/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +0 -0
  334. /package/{dist → public}/charting_library/bundles/moment.78e587a83a009ca48cda.js +0 -0
  335. /package/{dist → public}/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +0 -0
  336. /package/{dist → public}/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +0 -0
  337. /package/{dist → public}/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +0 -0
  338. /package/{dist → public}/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +0 -0
  339. /package/{dist → public}/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +0 -0
  340. /package/{dist → public}/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +0 -0
  341. /package/{dist → public}/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +0 -0
  342. /package/{dist → public}/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +0 -0
  343. /package/{dist → public}/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +0 -0
  344. /package/{dist → public}/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +0 -0
  345. /package/{dist → public}/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +0 -0
  346. /package/{dist → public}/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +0 -0
  347. /package/{dist → public}/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +0 -0
  348. /package/{dist → public}/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +0 -0
  349. /package/{dist → public}/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +0 -0
  350. /package/{dist → public}/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +0 -0
  351. /package/{dist → public}/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +0 -0
  352. /package/{dist → public}/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +0 -0
  353. /package/{dist → public}/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +0 -0
  354. /package/{dist → public}/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +0 -0
  355. /package/{dist → public}/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +0 -0
  356. /package/{dist → public}/charting_library/charting_library.cjs.js +0 -0
  357. /package/{dist → public}/charting_library/charting_library.d.ts +0 -0
  358. /package/{dist → public}/charting_library/charting_library.esm.js +0 -0
  359. /package/{dist → public}/charting_library/charting_library.js +0 -0
  360. /package/{dist → public}/charting_library/datafeed-api.d.ts +0 -0
  361. /package/{dist → public}/charting_library/en-tv-chart.f0bc1e45.html +0 -0
  362. /package/{dist → public}/charting_library/package.json +0 -0
  363. /package/{dist → public}/charting_library/yarn.lock +0 -0
@@ -0,0 +1 @@
1
+ var TradingView=function(e){"use strict";function t(e,i){const n={...e};for(const o in i)"object"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=t(e[o],i[o]);return n}const i={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},n={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};let o=!1;function s(){return"CL v21.064 (internal id f0bc1e45 @ 2022-03-17T12:19:26.809Z)"}const r=class{constructor(e){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!e.datafeed)throw new Error("Datafeed is not defined");if(this._options=t(n,e),e.preset){const t=i[e.preset];t?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(t.disabled_features):this._options.disabled_features=t.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(t.enabled_features):this._options.enabled_features=t.enabled_features):console.warn("Unknown preset: `"+e.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._options.debug&&(o||(o=!0,console.log("Using CL v21.064 (internal id f0bc1e45 @ 2022-03-17T12:19:26.809Z)"))),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._doWhenInnerApiLoaded((t=>{t.onGrayedObjectClicked(e)}))}onShortcut(e,t){this._doWhenInnerWindowLoaded((i=>{i.createShortcutAction(e,t)}))}subscribe(e,t){this._doWhenInnerApiLoaded((i=>{i.subscribe(e,t)}))}unsubscribe(e,t){this._doWhenInnerApiLoaded((i=>{i.unsubscribe(e,t)}))}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._doWhenInnerApiLoaded((e=>{e.closePopupsAndDialogs()}))}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._doWhenInnerApiLoaded((t=>{t.onContextMenu(e)}))}createButton(e){return this._innerWindow().createButton(e)}createDropdown(e){return this._innerWindow().createDropdown(e)}showNoticeDialog(e){this._doWhenInnerApiLoaded((t=>{t.showNoticeDialog(e)}))}showConfirmDialog(e){this._doWhenInnerApiLoaded((t=>{t.showConfirmDialog(e)}))}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}getStudyInputs(e){return this._innerAPI().getStudyInputs(e)}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(e){this._options=t(this._options,{overrides:e}),this._doWhenInnerWindowLoaded((t=>{t.applyOverrides(e)}))}applyStudiesOverrides(e){this._doWhenInnerWindowLoaded((t=>{t.applyStudiesOverrides(e)}))}watchList(){return this._innerAPI().watchlist()}news(){return this._innerAPI().news()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){return this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._doWhenInnerApiLoaded((e=>{e.takeScreenshot()}))}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}navigationButtonsVisibility(){return this._innerWindow().getNavigationButtonsVisibility()}paneButtonsVisibility(){return this._innerWindow().getPaneButtonsVisibility()}dateFormat(){return this._innerWindow().getDateFormat()}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_doWhenInnerWindowLoaded(e){this._ready?e(this._innerWindow()):this._innerWindowLoaded.then((()=>{e(this._innerWindow())}))}_doWhenInnerApiLoaded(e){this._doWhenInnerWindowLoaded((t=>{t.doWhenApiIsReady((()=>e(this._innerAPI())))}))}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const e of this._readyHandlers)try{e.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode,symbolSearchComplete:this._options.symbol_search_complete},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.f0bc1e45.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return'<iframe id="'+this._id+'" name="'+this._id+'" src="'+t+'"'+(this._options.autosize||this._options.fullscreen?"":' width="'+this._options.width+'" height="'+this._options.height+'"')+' title="Financial Chart" frameborder="0" allowTransparency="true" scrolling="no" allowfullscreen style="display:block;"></iframe>'}};return window.TradingView=window.TradingView||{},window.TradingView.version=s,e.version=s,e.widget=r,e}({});
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Binbot charts demo</title>
6
+ </head>
7
+ <body>
8
+ <noscript>
9
+ You need to enable JavaScript to run this app.
10
+ </noscript>
11
+ <div id="root"></div>
12
+ <!--
13
+ This HTML file is a template.
14
+ If you open it directly in the browser, you will see an empty page.
15
+
16
+ You can add webfonts, meta tags, or analytics to this file.
17
+ The build step will place the bundled scripts into the <body> tag.
18
+
19
+ To begin the development, run `npm start`.
20
+ To create a production bundle, use `npm run build`.
21
+ -->
22
+ </body>
23
+ </html>
package/src/App.css ADDED
@@ -0,0 +1,26 @@
1
+ .App {
2
+ text-align: center;
3
+ }
4
+
5
+ .App-header {
6
+ display: flex;
7
+ justify-content: center;
8
+ align-items: center;
9
+ padding: 10px 0;
10
+ background-color: #222;
11
+ color: #fff;
12
+ }
13
+
14
+ .App-tv-logo {
15
+ height: 45px;
16
+ }
17
+
18
+ .App-react-logo {
19
+ display: block;
20
+ height: 62px;
21
+ }
22
+
23
+ .App-title {
24
+ display: block;
25
+ font-size: 1.5em;
26
+ }
package/src/App.tsx ADDED
@@ -0,0 +1,100 @@
1
+ import { type FC, useEffect, useState } from "react";
2
+ import { useImmer } from "use-immer";
3
+ import { Immutable } from "immer";
4
+ import "./App.css";
5
+ import TVChartContainer, { OrderLine } from "./main";
6
+ import { ResolutionString } from "./charting_library/charting_library";
7
+ import { ITimescaleMarks } from "./charting-library-interfaces";
8
+
9
+ type TimeMarks = Immutable<ITimescaleMarks>
10
+
11
+ function roundTime(ts: number): number {
12
+ /**
13
+ * @param ts a JavaScript new Date().getTime() timestamp
14
+ */
15
+ let time = new Date(ts);
16
+ time.setMinutes(0);
17
+ time.setSeconds(0)
18
+ time.setMilliseconds(0);
19
+ const roundFloor = time.getTime();
20
+ return roundFloor / 1000
21
+ }
22
+
23
+ export const App: FC<{}> = (): JSX.Element => {
24
+ const [currentPrice, setCurrentPrice] = useState(null);
25
+ const [orderLines , setOrderLines] = useImmer<OrderLine[]>([]);
26
+ const [symbolState, setSymbolState] = useState("BTCUSDT")
27
+ const [testTimeMarks, setTestTimeMarks] = useState<Array<TimeMarks>>([])
28
+
29
+ useEffect(() => {
30
+ if (currentPrice) {
31
+ updateOrderLines()
32
+ }
33
+
34
+ }, [currentPrice]);
35
+
36
+ const updateOrderLines = () => {
37
+ if (currentPrice) {
38
+ setOrderLines((draft) => {
39
+ draft.push({
40
+ id: "base_order",
41
+ text: "Base",
42
+ tooltip: ["Inactive"],
43
+ quantity: `XX USDT`,
44
+ price: currentPrice,
45
+ color: "#1f77d0",
46
+ });
47
+ return draft
48
+ });
49
+ setOrderLines((draft) => {
50
+ draft.push({
51
+ id: "take_profit",
52
+ text: "Take profit",
53
+ tooltip: ["Inactive"],
54
+ quantity: `XX USDT`,
55
+ price: parseFloat((currentPrice * 1.03).toFixed(6)),
56
+ color: "#1f77d0",
57
+ });
58
+ return draft
59
+ });
60
+ }
61
+
62
+ }
63
+
64
+ const handleTick = (ohlc) => {
65
+ setCurrentPrice(ohlc.close);
66
+ };
67
+ const getLatestBar = (bar) => {
68
+ const purchaseTs = new Date(2023, 0, 14, 13, 0).getTime()
69
+ setCurrentPrice(bar[3]);
70
+ setTestTimeMarks([{
71
+ id: "tsm4",
72
+ time: roundTime(purchaseTs),
73
+ color: "blue",
74
+ label: "B",
75
+ tooltip: ["Safety Order 4"],
76
+ }])
77
+ };
78
+ const handleChange = (e) => {
79
+ if (e.target.name === "symbol") {
80
+ setSymbolState(e.target.value);
81
+ }
82
+ }
83
+ return (
84
+ <>
85
+ <h1 style={{ textAlign: "center" }}>Test chart</h1>
86
+ <label htmlFor="symbol">Type symbol</label>
87
+ <input name="symbol" type="text" onChange={handleChange} />
88
+ <TVChartContainer
89
+ symbol={symbolState}
90
+ interval={"1h" as ResolutionString}
91
+ timescaleMarks={testTimeMarks}
92
+ orderLines={orderLines}
93
+ onTick={handleTick}
94
+ getLatestBar={getLatestBar}
95
+ />
96
+ </>
97
+ );
98
+ }
99
+
100
+ export default App;
@@ -0,0 +1,36 @@
1
+ import Datafeed from "./datafeed";
2
+
3
+ export interface IWidgetOptions {
4
+ symbol: string;
5
+ // BEWARE: no trailing slash is expected in feed URL
6
+ datafeed: Datafeed;
7
+ interval: string;
8
+ container: HTMLInputElement;
9
+ library_path: string; // node_modules path of charting_library
10
+ locale?: string;
11
+ disabled_features?: Array<string>;
12
+ enabled_features?: Array<string>;
13
+ charts_storage_url?: string;
14
+ charts_storage_api_version?: string;
15
+ client_id?: string;
16
+ user_id?: string;
17
+ fullscreen?: boolean;
18
+ autosize?: boolean;
19
+ studies_overrides?: object;
20
+ }
21
+
22
+ export interface IOrderLine {
23
+ text: string;
24
+ tooltip?: Array<string>;
25
+ quantity?: string;
26
+ price: Number;
27
+ color?: string;
28
+ }
29
+
30
+ export interface ITimescaleMarks {
31
+ id: string;
32
+ time: Number;
33
+ color?: string;
34
+ label: string;
35
+ tooltip?: Array<string>;
36
+ }
@@ -0,0 +1,283 @@
1
+ import { getAllSymbols, makeApiRequest } from "./helpers";
2
+ import { subscribeOnStream, unsubscribeFromStream } from "./streaming";
3
+
4
+ enum BinanceResolutions {
5
+ one_second = "1s",
6
+ one_minute = "1m",
7
+ three_minute = "3m",
8
+ five_minute = "5m",
9
+ fifteen_minute = "15m",
10
+ thirty_minute = "30m",
11
+ one_hour = "1h",
12
+ two_hour = "2h",
13
+ four_hour = "4h",
14
+ six_hour = "6h",
15
+ eight_hour = "8h",
16
+ twelve_hour = "12h",
17
+ one_day = "1d",
18
+ three_day = "3d",
19
+ one_week = "1w",
20
+ one_month = "1M",
21
+ }
22
+
23
+ interface ConfigurationData {
24
+ supports_marks: boolean;
25
+ supports_timescale_marks: boolean;
26
+ supports_time: boolean;
27
+ supported_resolutions: string[];
28
+ exchanges: { value: string; name: string; desc: string }[];
29
+ symbols_types: { name: string; value: string }[];
30
+ }
31
+
32
+ const getConfigurationData = async (): Promise<ConfigurationData> => {
33
+ return {
34
+ supports_marks: true,
35
+ supports_timescale_marks: true,
36
+ supports_time: true,
37
+ supported_resolutions: [
38
+ "1S",
39
+ "1",
40
+ "3",
41
+ "5",
42
+ "15",
43
+ "30",
44
+ "60",
45
+ "120",
46
+ "240",
47
+ "360",
48
+ "480",
49
+ "720",
50
+ "1D",
51
+ "3D",
52
+ "1W",
53
+ "12M",
54
+ ],
55
+ exchanges: [
56
+ {
57
+ value: "Binance",
58
+ name: "Binance",
59
+ desc: "Binance",
60
+ },
61
+ ],
62
+ symbols_types: [
63
+ {
64
+ name: "crypto",
65
+ value: "crypto",
66
+ },
67
+ ],
68
+ };
69
+ };
70
+
71
+ interface TimescaleMark {
72
+ id: string;
73
+ time: number;
74
+ color: string;
75
+ label: string;
76
+ tooltip: string;
77
+ }
78
+
79
+ interface SymbolInfo {
80
+ name: string;
81
+ ticker: string;
82
+ description: string;
83
+ type: string;
84
+ session: string;
85
+ timezone: string;
86
+ exchange: string;
87
+ minmov: number;
88
+ pricescale: number;
89
+ has_daily: boolean;
90
+ has_intraday: boolean;
91
+ has_no_volume: boolean;
92
+ has_seconds: boolean;
93
+ seconds_multipliers: number[];
94
+ volume: string;
95
+ volume_precision: number;
96
+ data_status: string;
97
+ resolution: string;
98
+ }
99
+
100
+ interface PeriodParams {
101
+ from: number;
102
+ to: number;
103
+ firstDataRequest: boolean;
104
+ }
105
+
106
+ interface Bar {
107
+ time: number;
108
+ low: number;
109
+ high: number;
110
+ open: number;
111
+ close: number;
112
+ volume: number;
113
+ }
114
+
115
+ export default class Datafeed {
116
+ private streaming: any;
117
+ private timescaleMarks: TimescaleMark[];
118
+ private interval: string;
119
+ private configurationData: ConfigurationData | null = null;
120
+
121
+ constructor(timescaleMarks: TimescaleMark[] = [], interval: string = "1h") {
122
+ this.streaming = null;
123
+ this.timescaleMarks = timescaleMarks;
124
+ this.interval = interval;
125
+ }
126
+
127
+ onReady = async (callback: (data: ConfigurationData) => void): Promise<void> => {
128
+ this.configurationData = await getConfigurationData();
129
+ callback(this.configurationData);
130
+ };
131
+
132
+ searchSymbols = async (
133
+ userInput: string,
134
+ exchange: string,
135
+ symbolType: string,
136
+ onResultReadyCallback: (symbols: any[]) => void
137
+ ): Promise<void> => {
138
+ const symbols = await getAllSymbols(userInput);
139
+ onResultReadyCallback(symbols);
140
+ };
141
+
142
+ resolveSymbol = async (
143
+ symbolName: string,
144
+ onSymbolResolvedCallback: (symbolInfo: SymbolInfo) => void,
145
+ onResolveErrorCallback: (error: string) => void
146
+ ): Promise<void> => {
147
+ if (!symbolName) {
148
+ await onResolveErrorCallback("cannot resolve symbol");
149
+ return;
150
+ }
151
+
152
+ const symbolInfo = (): SymbolInfo => {
153
+ return {
154
+ name: symbolName,
155
+ ticker: symbolName,
156
+ description: symbolName,
157
+ type: "crypto",
158
+ session: "24x7",
159
+ timezone: "Etc/UTC",
160
+ exchange: "Binance",
161
+ minmov: 100,
162
+ pricescale: 100000,
163
+ has_daily: true,
164
+ has_intraday: true,
165
+ has_no_volume: false,
166
+ has_seconds: true,
167
+ seconds_multipliers: [1],
168
+ volume: "hundreds",
169
+ volume_precision: 9,
170
+ data_status: "streaming",
171
+ resolution: "1h",
172
+ };
173
+ };
174
+ const symbol = await symbolInfo();
175
+ onSymbolResolvedCallback(symbol);
176
+ };
177
+
178
+ getBars = async (
179
+ symbolInfo: SymbolInfo,
180
+ resolution: string,
181
+ periodParams: PeriodParams,
182
+ onHistoryCallback: (bars: Bar[], meta: { noData: boolean }) => void,
183
+ onErrorCallback: (error: any) => void
184
+ ): Promise<void> => {
185
+ const { from, to, firstDataRequest } = periodParams;
186
+ let interval = "60"; // 1 hour
187
+ // Calculate interval using resolution data
188
+ if (!/[a-zA-Z]$/.test(resolution)) {
189
+ if (parseInt(resolution) >= 60) {
190
+ interval = parseInt(resolution) / 60 + "h";
191
+ } else {
192
+ interval = resolution + "m";
193
+ }
194
+ } else {
195
+ interval = resolution.toLowerCase().replace(/[a-z]\b/g, (c) => c.toLowerCase());
196
+ }
197
+
198
+ let urlParameters = {
199
+ symbol: symbolInfo.name,
200
+ interval: interval,
201
+ startTime: Math.abs(from * 1000),
202
+ endTime: Math.abs(to * 1000),
203
+ limit: 600,
204
+ };
205
+
206
+ const query = Object.keys(urlParameters)
207
+ .map((name) => `${name}=${encodeURIComponent(urlParameters[name])}`)
208
+ .join("&");
209
+
210
+ try {
211
+ const data = await makeApiRequest(`api/v3/uiKlines?${query}`);
212
+ if ((data.Response && data.Response === "Error") || data.length === 0) {
213
+ // "noData" should be set if there is no data in the requested period.
214
+ onHistoryCallback([], {
215
+ noData: true,
216
+ });
217
+ return;
218
+ }
219
+ let bars: Bar[] = [];
220
+ data.forEach((bar: any) => {
221
+ if (bar[0] >= from * 1000 && bar[0] < to * 1000) {
222
+ bars = [
223
+ ...bars,
224
+ {
225
+ time: bar[0],
226
+ low: bar[3],
227
+ high: bar[2],
228
+ open: bar[1],
229
+ close: bar[4],
230
+ volume: bar[5],
231
+ },
232
+ ];
233
+ }
234
+ });
235
+ onHistoryCallback(bars, {
236
+ noData: false,
237
+ });
238
+ } catch (error) {
239
+ console.log("[getBars]: Get error", error);
240
+ onErrorCallback(error);
241
+ }
242
+ };
243
+
244
+ getTimescaleMarks(
245
+ symbolInfo: SymbolInfo,
246
+ from: number,
247
+ to: number,
248
+ onDataCallback: (marks: TimescaleMark[]) => void,
249
+ resolution: string
250
+ ): void {
251
+ if (this.timescaleMarks.length > 0) {
252
+ let timescaleMarks = Object.assign([], this.timescaleMarks);
253
+ onDataCallback(timescaleMarks);
254
+ }
255
+ }
256
+
257
+ async getServerTime(onServertimeCallback: (time: number) => void): Promise<void> {
258
+ const data = await makeApiRequest(`api/v3/time`);
259
+ const serverTime = data.serverTime / 1000;
260
+ onServertimeCallback(serverTime);
261
+ }
262
+
263
+ subscribeBars = (
264
+ symbolInfo: SymbolInfo,
265
+ resolution: string,
266
+ onRealtimeCallback: (bar: Bar) => void,
267
+ subscribeUID: string,
268
+ onResetCacheNeededCallback: () => void
269
+ ): void => {
270
+ subscribeOnStream(
271
+ symbolInfo,
272
+ resolution,
273
+ onRealtimeCallback,
274
+ subscribeUID,
275
+ onResetCacheNeededCallback,
276
+ this.interval
277
+ );
278
+ };
279
+
280
+ unsubscribeBars = (subscriberUID: string): void => {
281
+ unsubscribeFromStream(subscriberUID);
282
+ };
283
+ }
package/src/helpers.ts ADDED
@@ -0,0 +1,41 @@
1
+ import { useEffect, useRef } from "react";
2
+
3
+
4
+ export async function makeApiRequest(path) {
5
+ try {
6
+ const response = await fetch(`https://api.binance.com/${path}`);
7
+ return response.json();
8
+ } catch (error) {
9
+ throw new Error(`Binance request error: ${error.status}`);
10
+ }
11
+ }
12
+
13
+ export async function getAllSymbols(symbol) {
14
+ let newSymbols = [];
15
+ try {
16
+ const data = await makeApiRequest(`api/v3/exchangeInfo?symbol=${symbol.toUpperCase()}`);
17
+ data.symbols.forEach(item => {
18
+ if (item.status === "TRADING") {
19
+ newSymbols.push({
20
+ symbol: item.symbol,
21
+ full_name: `${item.baseAsset}/${item.quoteAsset}`,
22
+ description: `Precision: ${item.quoteAssetPrecision}`,
23
+ exchange: "Binance",
24
+ ticker: item.symbol,
25
+ type: "crypto",
26
+ });
27
+ }
28
+ });
29
+ } catch (e) {
30
+ return newSymbols
31
+ }
32
+ return newSymbols;
33
+ }
34
+
35
+ export function usePrevious(value) {
36
+ const ref = useRef();
37
+ useEffect(() => {
38
+ ref.current = value;
39
+ });
40
+ return ref.current;
41
+ }
package/src/index.css ADDED
@@ -0,0 +1,5 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ font-family: sans-serif;
5
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,10 @@
1
+ import { createRoot } from "react-dom/client";
2
+ import App from "./App"; // Ensure App is a default export from "./App"
3
+ import "./index.css";
4
+
5
+ const rootElement = document.getElementById("root");
6
+
7
+ if (rootElement) {
8
+ const root = createRoot(rootElement);
9
+ root.render(<App />);
10
+ }