binbot-charts 0.0.2 → 0.0.5

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 (353) hide show
  1. package/README.md +5 -2
  2. package/babel.config.json +18 -0
  3. package/dist/TVChartContainer.js +78 -0
  4. package/dist/ar-tv-chart.f0bc1e45.html +1 -0
  5. package/dist/bundles/0.d46f0b5e9380d7893de5.js +334 -0
  6. package/dist/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
  7. package/{public/put-charting-library-here → dist/bundles/1.92647ec0a7beb8b2898d.css} +0 -0
  8. package/{public/put-datafeeds-here → dist/bundles/1.92647ec0a7beb8b2898d.rtl.css} +0 -0
  9. package/dist/bundles/1.f02c87d35fbc8ffcaedb.js +3 -0
  10. package/dist/bundles/10.21e665b7935d5bc4ba64.js +807 -0
  11. package/dist/bundles/11.8b65dc2e0d8b6e5041c4.css +1 -0
  12. package/dist/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +1 -0
  13. package/dist/bundles/11.df012db70159a159d927.js +3 -0
  14. package/dist/bundles/12.37750b21f6d8d35c6e6e.js +3 -0
  15. package/dist/bundles/12.ef8057448f3a7ae1c3d8.css +1 -0
  16. package/dist/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +1 -0
  17. package/dist/bundles/13.699469c73d09b7add56d.js +3 -0
  18. package/dist/bundles/13.9240f13280154f2593b7.css +1 -0
  19. package/dist/bundles/13.9240f13280154f2593b7.rtl.css +1 -0
  20. package/dist/bundles/14.8095b40dd1e7deedf401.css +1 -0
  21. package/dist/bundles/14.8095b40dd1e7deedf401.rtl.css +1 -0
  22. package/dist/bundles/14.d1148b38d59df9ca5061.js +3 -0
  23. package/dist/bundles/15.44f2acca80348a1da1a6.js +526 -0
  24. package/dist/bundles/16.680572949c1125757d35.js +3 -0
  25. package/dist/bundles/16.d567c9db608f3d98d8de.css +1 -0
  26. package/dist/bundles/16.d567c9db608f3d98d8de.rtl.css +1 -0
  27. package/dist/bundles/17.404a01f527881dfff424.js +3 -0
  28. package/dist/bundles/17.ec35a19db935279c5b42.css +1 -0
  29. package/dist/bundles/17.ec35a19db935279c5b42.rtl.css +1 -0
  30. package/dist/bundles/18.78de69cfba051874e071.js +569 -0
  31. package/dist/bundles/19.048f7f5d36fef428ca8d.js +3 -0
  32. package/dist/bundles/19.75c30426f9d3ad5ca0c5.css +1 -0
  33. package/dist/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +1 -0
  34. package/dist/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
  35. package/dist/bundles/2.60931787a6734697ac13.js +507 -0
  36. package/dist/bundles/20.bc09ed47c5a62e1bc5c2.js +540 -0
  37. package/dist/bundles/21.4c7b5cccb67a95e7e782.js +3 -0
  38. package/dist/bundles/21.8153544955cdc47262e3.css +1 -0
  39. package/dist/bundles/21.8153544955cdc47262e3.rtl.css +1 -0
  40. package/dist/bundles/22.ca4300bcf614d8d5f4ab.js +3 -0
  41. package/dist/bundles/22.da9773799a06c6066d1e.css +1 -0
  42. package/dist/bundles/22.da9773799a06c6066d1e.rtl.css +1 -0
  43. package/dist/bundles/23.256ba98e6a03200bdeba.js +3 -0
  44. package/dist/bundles/23.ee754f50171546186397.css +1 -0
  45. package/dist/bundles/23.ee754f50171546186397.rtl.css +1 -0
  46. package/dist/bundles/24.bc4fafedb1730259aa10.js +3 -0
  47. package/dist/bundles/24.e70c1623e0c74477ef2e.css +1 -0
  48. package/dist/bundles/24.e70c1623e0c74477ef2e.rtl.css +1 -0
  49. package/dist/bundles/25.7416db26ed3dcc87c05a.js +2731 -0
  50. package/dist/bundles/26.3aeec391d4e6e19989ee.js +3 -0
  51. package/dist/bundles/26.69139a843bc1c84f790b.css +1 -0
  52. package/dist/bundles/26.69139a843bc1c84f790b.rtl.css +1 -0
  53. package/dist/bundles/27.e3ec08b1fb9df5f36ada.js +477 -0
  54. package/dist/bundles/28.3140e8cb507ad2593c76.css +1 -0
  55. package/dist/bundles/28.3140e8cb507ad2593c76.rtl.css +1 -0
  56. package/dist/bundles/28.9f103042c27ea2df422f.js +3 -0
  57. package/dist/bundles/29.07af6dca962ea27209f0.css +1 -0
  58. package/dist/bundles/29.07af6dca962ea27209f0.rtl.css +1 -0
  59. package/dist/bundles/29.3df8712b85d45a626aa0.js +3 -0
  60. package/dist/bundles/3.76c398b01b707e5b251c.js +3 -0
  61. package/dist/bundles/3.eeb90413029441681f91.css +1 -0
  62. package/dist/bundles/3.eeb90413029441681f91.rtl.css +1 -0
  63. package/dist/bundles/30.0b732ccb122d160480b6.js +1244 -0
  64. package/dist/bundles/31.8d2b7a538755fd1bb760.js +935 -0
  65. package/dist/bundles/32.13ce02217cf8f9dd6d90.js +636 -0
  66. package/dist/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
  67. package/dist/bundles/33.02ed7df481ae8243d2f2.css +1 -0
  68. package/dist/bundles/33.02ed7df481ae8243d2f2.rtl.css +1 -0
  69. package/dist/bundles/33.4d0dd1f7001fc02099bb.js +3 -0
  70. package/dist/bundles/34.4b6099931f57311efc1a.css +1 -0
  71. package/dist/bundles/34.4b6099931f57311efc1a.rtl.css +1 -0
  72. package/dist/bundles/34.c9baa59add71a1e48fd2.js +3 -0
  73. package/dist/bundles/35.999f0e072062b7369a1a.css +1 -0
  74. package/dist/bundles/35.999f0e072062b7369a1a.rtl.css +1 -0
  75. package/dist/bundles/35.ed9e360f9686ad3a9497.js +3 -0
  76. package/dist/bundles/36.1882d1a8d312a0e193e9.js +3 -0
  77. package/dist/bundles/36.f315a19c17d5636af8f7.css +1 -0
  78. package/dist/bundles/36.f315a19c17d5636af8f7.rtl.css +1 -0
  79. package/dist/bundles/37.90129e4904155350d6a1.js +1288 -0
  80. package/dist/bundles/38.41f3d509b61c8af47de3.js +502 -0
  81. package/dist/bundles/39.74a7bc3b464cd284827f.css +1 -0
  82. package/dist/bundles/39.74a7bc3b464cd284827f.rtl.css +1 -0
  83. package/dist/bundles/39.bc1e9ce938fd5152831f.js +3 -0
  84. package/dist/bundles/4.92647ec0a7beb8b2898d.css +0 -0
  85. package/dist/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
  86. package/dist/bundles/4.c7430b8d89cddcf51345.js +3 -0
  87. package/dist/bundles/40.b59f41ba4cacbfb8acc3.js +255 -0
  88. package/dist/bundles/40566afd832a155e5e370a8bd423de4b.svg +1 -0
  89. package/dist/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
  90. package/dist/bundles/41.8fa0fb0bd4ad0241ef2f.css +1 -0
  91. package/dist/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +1 -0
  92. package/dist/bundles/41.a19b0ae5d68f855d2753.js +3 -0
  93. package/dist/bundles/42.494986b0981f6d116fef.js +3 -0
  94. package/dist/bundles/42.9078fb8f1629e3eee9bd.css +1 -0
  95. package/dist/bundles/42.9078fb8f1629e3eee9bd.rtl.css +1 -0
  96. package/dist/bundles/43.619c5ed4a592cc2965a4.js +3 -0
  97. package/dist/bundles/43.8bf90585004742c338c5.css +1 -0
  98. package/dist/bundles/43.8bf90585004742c338c5.rtl.css +1 -0
  99. package/dist/bundles/44.0a7df307e4f397763ce8.js +3474 -0
  100. package/dist/bundles/45.12a19785e3864bd62a76.css +1 -0
  101. package/dist/bundles/45.12a19785e3864bd62a76.rtl.css +1 -0
  102. package/dist/bundles/45.db9dbd3e9bfeca5333da.js +3 -0
  103. package/dist/bundles/46.f1d4cfe6d6f830b4a011.js +495 -0
  104. package/dist/bundles/47.a3da3f774c90bd22798e.js +555 -0
  105. package/dist/bundles/48.a3fdb9dd54af71b3bda6.css +1 -0
  106. package/dist/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +1 -0
  107. package/dist/bundles/48.a93f9cb8b1bcc0e0f21e.js +3 -0
  108. package/dist/bundles/49.bacd609f7eb77a4a4b68.js +3 -0
  109. package/dist/bundles/49.d723843c9192493b8c13.css +1 -0
  110. package/dist/bundles/49.d723843c9192493b8c13.rtl.css +1 -0
  111. package/dist/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
  112. package/dist/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
  113. package/dist/bundles/5.5e97b270ab80d99e9085.js +335 -0
  114. package/dist/bundles/50.8d5cba5b90176d3d2e3d.css +1 -0
  115. package/dist/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +1 -0
  116. package/dist/bundles/50.b282667dddcb7fe1569a.js +3 -0
  117. package/dist/bundles/51.11871c50951db825ace3.js +3 -0
  118. package/dist/bundles/51.300c3df03ca063ec03a0.css +1 -0
  119. package/dist/bundles/51.300c3df03ca063ec03a0.rtl.css +1 -0
  120. package/dist/bundles/52.0379a85baae3ab43b15c.js +3 -0
  121. package/dist/bundles/52.29cec22b3525b47af67e.css +1 -0
  122. package/dist/bundles/52.29cec22b3525b47af67e.rtl.css +1 -0
  123. package/dist/bundles/53.1d3ec98cfb8e19affb1c.js +808 -0
  124. package/dist/bundles/54.bb5888ae55ea0a253a5b.js +1083 -0
  125. package/dist/bundles/55.3c35a629db21ab961f11.js +1733 -0
  126. package/dist/bundles/56.b3e69145c0fee614443d.js +723 -0
  127. package/dist/bundles/57.236996ec416da4c1f683.js +473 -0
  128. package/dist/bundles/58.7ffac4ba908b95705e63.js +410 -0
  129. package/dist/bundles/59.397cb6699b74d64072a8.js +3 -0
  130. package/dist/bundles/59.418f1db161eefae63284.css +1 -0
  131. package/dist/bundles/59.418f1db161eefae63284.rtl.css +1 -0
  132. package/dist/bundles/6.2221bb6a5d920bbb4bb2.css +1 -0
  133. package/dist/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +1 -0
  134. package/dist/bundles/6.2d67b0ae77825dbd455d.js +3 -0
  135. package/dist/bundles/60.6b5eced2ef8fa856be88.js +3 -0
  136. package/dist/bundles/60.d4583c71cca790a25900.css +1 -0
  137. package/dist/bundles/60.d4583c71cca790a25900.rtl.css +1 -0
  138. package/dist/bundles/61.38a3040c925fadff7b64.js +743 -0
  139. package/dist/bundles/62.63b309f5f8da9ca013b8.js +309 -0
  140. package/dist/bundles/63.8255c7f5191bcafcee7c.js +3 -0
  141. package/dist/bundles/63.898a61bf08239711dc74.css +1 -0
  142. package/dist/bundles/63.898a61bf08239711dc74.rtl.css +1 -0
  143. package/dist/bundles/64.6f232bdb0fb4cdcc2d7d.css +1 -0
  144. package/dist/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +1 -0
  145. package/dist/bundles/64.ec4b4d03b28c77658dde.js +3 -0
  146. package/dist/bundles/65.556980fc277562af83c8.css +1 -0
  147. package/dist/bundles/65.556980fc277562af83c8.rtl.css +1 -0
  148. package/dist/bundles/65.f895a78b4e04257983ff.js +3 -0
  149. package/dist/bundles/66.2979e9b7c35e7bf03a37.js +3 -0
  150. package/dist/bundles/66.84b4001b5c622a569dde.css +1 -0
  151. package/dist/bundles/66.84b4001b5c622a569dde.rtl.css +1 -0
  152. package/dist/bundles/67.19c83a0c303c290216d2.css +1 -0
  153. package/dist/bundles/67.19c83a0c303c290216d2.rtl.css +1 -0
  154. package/dist/bundles/67.25fd4b78c8c514988aeb.js +3 -0
  155. package/dist/bundles/68.8b4124c875484d11fd94.js +3 -0
  156. package/dist/bundles/68.fa7424ae9c5fe5483aac.css +1 -0
  157. package/dist/bundles/68.fa7424ae9c5fe5483aac.rtl.css +1 -0
  158. package/dist/bundles/69.094b4a764d3dc17820cf.css +1 -0
  159. package/dist/bundles/69.094b4a764d3dc17820cf.rtl.css +1 -0
  160. package/dist/bundles/69.43756a5c7477730eb0c4.js +3 -0
  161. package/dist/bundles/7.2c7c4f8a49c6380227de.js +315 -0
  162. package/dist/bundles/70.c27146ec029eda556108.css +1 -0
  163. package/dist/bundles/70.c27146ec029eda556108.rtl.css +1 -0
  164. package/dist/bundles/70.cb9d1bb5a00896c1bb97.js +3 -0
  165. package/dist/bundles/71.15e639d294c4209f256e.css +1 -0
  166. package/dist/bundles/71.15e639d294c4209f256e.rtl.css +1 -0
  167. package/dist/bundles/71.6a9d0842f5e48f68399c.js +3 -0
  168. package/dist/bundles/72.07441fd67b864b86147b.css +1 -0
  169. package/dist/bundles/72.07441fd67b864b86147b.rtl.css +1 -0
  170. package/dist/bundles/72.e3925aaf38d2c8997638.js +3 -0
  171. package/dist/bundles/73.6b8b9e5e2c8e2b753cb8.css +1 -0
  172. package/dist/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +1 -0
  173. package/dist/bundles/73.8ca1a096c5bdc2e5fb8a.js +3 -0
  174. package/dist/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
  175. package/dist/bundles/74.34dcc0d3cd1bbfa5e951.js +3 -0
  176. package/dist/bundles/74.8c591c252b2e7ad8f744.css +1 -0
  177. package/dist/bundles/74.8c591c252b2e7ad8f744.rtl.css +1 -0
  178. package/dist/bundles/75.1c9a3a6524248ddf88bf.js +3 -0
  179. package/dist/bundles/75.fefbc386c59bf7d4f9f7.css +1 -0
  180. package/dist/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +1 -0
  181. package/dist/bundles/76.5d20bed213399f326603.js +3 -0
  182. package/dist/bundles/76.f14d71a31295d8cd8d8b.css +1 -0
  183. package/dist/bundles/76.f14d71a31295d8cd8d8b.rtl.css +1 -0
  184. package/dist/bundles/77.3e4ccccc7d3eb03c488f.js +3 -0
  185. package/dist/bundles/77.9c35f7046b848fbfd7f5.css +1 -0
  186. package/dist/bundles/77.9c35f7046b848fbfd7f5.rtl.css +1 -0
  187. package/dist/bundles/78.0d502ab4d94441708606.css +1 -0
  188. package/dist/bundles/78.0d502ab4d94441708606.rtl.css +1 -0
  189. package/dist/bundles/78.1d1d47a915b06f1496fb.js +3 -0
  190. package/dist/bundles/79.86e92b77f8cf32e6bc37.js +3 -0
  191. package/dist/bundles/79.b990749a4839f9123f26.css +1 -0
  192. package/dist/bundles/79.b990749a4839f9123f26.rtl.css +1 -0
  193. package/dist/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
  194. package/dist/bundles/8.e66ab8f27911a033604f.css +1 -0
  195. package/dist/bundles/8.e66ab8f27911a033604f.rtl.css +1 -0
  196. package/dist/bundles/8.ffab20b86db484062268.js +3 -0
  197. package/dist/bundles/80.5bdd53d5fc42d40eee28.css +1 -0
  198. package/dist/bundles/80.5bdd53d5fc42d40eee28.rtl.css +1 -0
  199. package/dist/bundles/80.b5bc6acec3b531a510a9.js +3 -0
  200. package/dist/bundles/81.552e046aa828739c508b.css +1 -0
  201. package/dist/bundles/81.552e046aa828739c508b.rtl.css +1 -0
  202. package/dist/bundles/81.e6a1f76017a44b03480b.js +3 -0
  203. package/dist/bundles/82.8c2919e6c8f54e36e9e6.js +3 -0
  204. package/dist/bundles/82.e06fe84c8cdead4bd52e.css +1 -0
  205. package/dist/bundles/82.e06fe84c8cdead4bd52e.rtl.css +1 -0
  206. package/dist/bundles/83.e238aa056c5d4827cbdd.css +1 -0
  207. package/dist/bundles/83.e238aa056c5d4827cbdd.rtl.css +1 -0
  208. package/dist/bundles/83.f3e53bb5a5940e084955.js +3 -0
  209. package/dist/bundles/84.8acc496b4deeeeefb5af.js +3 -0
  210. package/dist/bundles/84.bb4fc57627c8626019fd.css +1 -0
  211. package/dist/bundles/84.bb4fc57627c8626019fd.rtl.css +1 -0
  212. package/dist/bundles/85.39c78fbeaabae306f343.js +3 -0
  213. package/dist/bundles/85.e0ba32bafcab02208901.css +1 -0
  214. package/dist/bundles/85.e0ba32bafcab02208901.rtl.css +1 -0
  215. package/dist/bundles/86.4bbbb9e6262243419986.js +3 -0
  216. package/dist/bundles/86.9244fc2bcc2370425a15.css +1 -0
  217. package/dist/bundles/86.9244fc2bcc2370425a15.rtl.css +1 -0
  218. package/dist/bundles/87.605cbc508223ec27341c.css +1 -0
  219. package/dist/bundles/87.605cbc508223ec27341c.rtl.css +1 -0
  220. package/dist/bundles/87.cf03fa0a76bfcadd157d.js +3 -0
  221. package/dist/bundles/88.158dd8a18e176936a343.css +1 -0
  222. package/dist/bundles/88.158dd8a18e176936a343.rtl.css +1 -0
  223. package/dist/bundles/88.d1e3aec63ece25f6b8a9.js +3 -0
  224. package/dist/bundles/89.5f142643917701de773b.css +1 -0
  225. package/dist/bundles/89.5f142643917701de773b.rtl.css +1 -0
  226. package/dist/bundles/89.d8aa43b4b9378722d572.js +3 -0
  227. package/dist/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
  228. package/dist/bundles/9.84ecbc930e51cb26d06a.js +3 -0
  229. package/dist/bundles/9.8ab09f93a5113a634119.css +1 -0
  230. package/dist/bundles/9.8ab09f93a5113a634119.rtl.css +1 -0
  231. package/dist/bundles/90.877114560c4828a97702.css +1 -0
  232. package/dist/bundles/90.877114560c4828a97702.rtl.css +1 -0
  233. package/dist/bundles/90.ce47bb68fc3fc88b5590.js +3 -0
  234. package/dist/bundles/91.2142b248a2bb29549a99.css +1 -0
  235. package/dist/bundles/91.2142b248a2bb29549a99.rtl.css +1 -0
  236. package/dist/bundles/91.a9b79ef7ba0a62311a53.js +3 -0
  237. package/dist/bundles/92.76d5ca7ebec10a1a7a12.js +3 -0
  238. package/dist/bundles/92.e46f0aa06bcdbddf3831.css +1 -0
  239. package/dist/bundles/92.e46f0aa06bcdbddf3831.rtl.css +1 -0
  240. package/dist/bundles/93.17d34ca77a7fc85a24d9.css +1 -0
  241. package/dist/bundles/93.17d34ca77a7fc85a24d9.rtl.css +1 -0
  242. package/dist/bundles/93.6de56ef1975f4a31e542.js +3 -0
  243. package/dist/bundles/94.231bea5fb12b806ef287.js +3 -0
  244. package/dist/bundles/94.b204218cb73b576333a1.css +1 -0
  245. package/dist/bundles/94.b204218cb73b576333a1.rtl.css +1 -0
  246. package/dist/bundles/95.51244d1c4baf49d08807.css +1 -0
  247. package/dist/bundles/95.51244d1c4baf49d08807.rtl.css +1 -0
  248. package/dist/bundles/95.6f7da80aac5cf2bf77d6.js +3 -0
  249. package/dist/bundles/96.43bb935eee30715afff7.js +3 -0
  250. package/dist/bundles/96.be9ad3d6a7c91501bb55.css +1 -0
  251. package/dist/bundles/96.be9ad3d6a7c91501bb55.rtl.css +1 -0
  252. package/dist/bundles/a6506134daec7169f68f563f084a9d41.svg +1 -0
  253. package/dist/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +1285 -0
  254. package/dist/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
  255. package/dist/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +260 -0
  256. package/dist/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +2205 -0
  257. package/dist/bundles/chart-event-hint.94e94e93f9fdee936b66.js +367 -0
  258. package/dist/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +228 -0
  259. package/dist/bundles/chart-widget-gui.226991e9f53aba124fc2.js +4265 -0
  260. package/dist/bundles/compare-model.0e6bbdc5f5942c9a716e.js +667 -0
  261. package/dist/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +432 -0
  262. package/dist/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +724 -0
  263. package/dist/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +440 -0
  264. package/dist/bundles/drawing-toolbar.8cc497633535648562e7.js +1814 -0
  265. package/dist/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
  266. package/dist/bundles/export-data.c819cfa996e2815ff11d.js +238 -0
  267. package/dist/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
  268. package/dist/bundles/floating-toolbars.d78a058b82ab09013aac.js +2373 -0
  269. package/dist/bundles/full-tooltips-popup.96fc751e06523b742440.js +423 -0
  270. package/dist/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +656 -0
  271. package/dist/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +604 -0
  272. package/dist/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +2313 -0
  273. package/dist/bundles/hammerjs.e5489031ed611f47bf09.js +993 -0
  274. package/dist/bundles/header-toolbar.4bff61e047f9b8379494.js +1293 -0
  275. package/dist/bundles/library.579e6e3fd95b660ad833.css +1 -0
  276. package/dist/bundles/library.579e6e3fd95b660ad833.rtl.css +1 -0
  277. package/dist/bundles/library.8b0dd8732414a2bcbcb1.js +1 -0
  278. package/dist/bundles/line-tools-icons.090f39d92664af3915a5.js +349 -0
  279. package/dist/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +683 -0
  280. package/dist/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +573 -0
  281. package/dist/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +11748 -0
  282. package/dist/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +3491 -0
  283. package/dist/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +81 -0
  284. package/dist/bundles/moment.78e587a83a009ca48cda.js +2059 -0
  285. package/dist/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +305 -0
  286. package/dist/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +2953 -0
  287. package/dist/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +7693 -0
  288. package/dist/bundles/react.9f2899b40ad0e104f6c9.js +7156 -0
  289. package/dist/bundles/redux.43c3f6d214bcf2d1fbd1.js +1691 -0
  290. package/dist/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +3692 -0
  291. package/dist/bundles/runtime.dfe30490f666a6b5d4fe.js +654 -0
  292. package/dist/bundles/series-icons-map.ec8043f64d8b06dbce29.js +53 -0
  293. package/dist/bundles/series-pane-views.eefe35e1c508ac16c102.js +113 -0
  294. package/dist/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +44 -0
  295. package/dist/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +60 -0
  296. package/dist/bundles/simple-dialog.bd79f02afd512f0f36dd.js +919 -0
  297. package/dist/bundles/source-properties-editor.e858d44541ebb6f974a2.js +265 -0
  298. package/dist/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +1030 -0
  299. package/dist/bundles/study-pane-views.9a873dcf74adedf7600b.js +682 -0
  300. package/dist/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +502 -0
  301. package/dist/bundles/study-template-dialog.fe56a9893a3695e93531.js +1598 -0
  302. package/dist/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +642 -0
  303. package/dist/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +112 -0
  304. package/dist/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +153 -0
  305. package/dist/bundles/vendors.6f5e0d8d267cb3e63ee0.js +5316 -0
  306. package/dist/charting_library.cjs.js +499 -0
  307. package/dist/charting_library.d.ts +2087 -0
  308. package/dist/charting_library.esm.js +503 -0
  309. package/dist/charting_library.js +506 -0
  310. package/dist/charting_library.standalone.js +500 -0
  311. package/dist/cs-tv-chart.f0bc1e45.html +1 -0
  312. package/dist/da_DK-tv-chart.f0bc1e45.html +1 -0
  313. package/dist/datafeed-api.d.ts +274 -0
  314. package/dist/datafeed.js +183 -0
  315. package/dist/de-tv-chart.f0bc1e45.html +1 -0
  316. package/dist/el-tv-chart.f0bc1e45.html +1 -0
  317. package/dist/en-tv-chart.f0bc1e45.html +1 -0
  318. package/dist/es-tv-chart.f0bc1e45.html +1 -0
  319. package/dist/et_EE-tv-chart.f0bc1e45.html +1 -0
  320. package/dist/fa-tv-chart.f0bc1e45.html +1 -0
  321. package/dist/fr-tv-chart.f0bc1e45.html +1 -0
  322. package/dist/he_IL-tv-chart.f0bc1e45.html +1 -0
  323. package/dist/helpers.js +47 -0
  324. package/dist/hu_HU-tv-chart.f0bc1e45.html +1 -0
  325. package/dist/id_ID-tv-chart.f0bc1e45.html +1 -0
  326. package/dist/it-tv-chart.f0bc1e45.html +1 -0
  327. package/dist/ja-tv-chart.f0bc1e45.html +1 -0
  328. package/dist/ko-tv-chart.f0bc1e45.html +1 -0
  329. package/dist/ms_MY-tv-chart.f0bc1e45.html +1 -0
  330. package/dist/nl_NL-tv-chart.f0bc1e45.html +1 -0
  331. package/dist/no-tv-chart.f0bc1e45.html +1 -0
  332. package/dist/package.json +8 -0
  333. package/dist/pl-tv-chart.f0bc1e45.html +1 -0
  334. package/dist/pt-tv-chart.f0bc1e45.html +1 -0
  335. package/dist/ro-tv-chart.f0bc1e45.html +1 -0
  336. package/dist/ru-tv-chart.f0bc1e45.html +1 -0
  337. package/dist/sk_SK-tv-chart.f0bc1e45.html +1 -0
  338. package/dist/streaming.js +142 -0
  339. package/dist/sv-tv-chart.f0bc1e45.html +1 -0
  340. package/dist/th-tv-chart.f0bc1e45.html +1 -0
  341. package/dist/tr-tv-chart.f0bc1e45.html +1 -0
  342. package/dist/vi-tv-chart.f0bc1e45.html +1 -0
  343. package/dist/zh-tv-chart.f0bc1e45.html +1 -0
  344. package/dist/zh_TW-tv-chart.f0bc1e45.html +1 -0
  345. package/package.json +10 -6
  346. package/src/App.jsx +2 -2
  347. package/src/components/TVChartContainer.jsx +17 -30
  348. package/src/components/datafeed.js +201 -0
  349. package/src/components/helpers.js +32 -0
  350. package/src/components/streaming.js +136 -0
  351. package/copy_charting_library_files.sh +0 -30
  352. package/public/charting_library/yarn.lock +0 -4
  353. package/src/charting_library/yarn.lock +0 -4
@@ -0,0 +1,2205 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.promise.js");
4
+
5
+ require("core-js/modules/es.regexp.to-string.js");
6
+
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+
9
+ require("core-js/modules/es.object.assign.js");
10
+
11
+ require("core-js/modules/es.symbol.description.js");
12
+
13
+ require("core-js/modules/es.array.sort.js");
14
+
15
+ require("core-js/modules/es.array.reduce.js");
16
+
17
+ require("core-js/modules/es.regexp.exec.js");
18
+
19
+ require("core-js/modules/es.string.split.js");
20
+
21
+ require("core-js/modules/es.regexp.test.js");
22
+
23
+ const _excluded = ["controller", "children", "isOpened", "closeOnClickOutside", "doNotCloseOn", "onClickOutside", "onClose"],
24
+ _excluded2 = ["reference", "className", "children"],
25
+ _excluded3 = ["dateRangeMode"],
26
+ _excluded4 = ["reference"];
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
34
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
+
36
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
37
+
38
+ (window.webpackJsonp = window.webpackJsonp || []).push([["chart-bottom-toolbar"], {
39
+ "+GaQ": function GaQ(e, t, n) {
40
+ "use strict";
41
+
42
+ n.d(t, "a", function () {
43
+ return a;
44
+ });
45
+ var i = n("q1tI");
46
+
47
+ function a(e) {
48
+ if (e.map) {
49
+ return i.Children.toArray(e.children).map(e.map);
50
+ }
51
+
52
+ return e.children;
53
+ }
54
+ },
55
+ "02pg": function pg(e, t, n) {
56
+ "use strict";
57
+
58
+ n.d(t, "a", function () {
59
+ return o;
60
+ });
61
+ var i = n("q1tI"),
62
+ a = n("TSYQ"),
63
+ s = n("XiJV");
64
+
65
+ function o(e) {
66
+ return i.createElement("div", {
67
+ className: a(s.separator, e.className)
68
+ });
69
+ }
70
+ },
71
+ "1TxM": function TxM(e, t, n) {
72
+ "use strict";
73
+
74
+ n.d(t, "c", function () {
75
+ return l;
76
+ }), n.d(t, "a", function () {
77
+ return c;
78
+ }), n.d(t, "b", function () {
79
+ return h;
80
+ });
81
+ var i = n("q1tI"),
82
+ a = n.n(i),
83
+ s = n("17x9"),
84
+ o = n.n(s);
85
+ const r = a.a.createContext({});
86
+
87
+ function l(e, t) {
88
+ o.a.checkPropTypes(t, e, "context", "RegistryContext");
89
+ }
90
+
91
+ function c(e) {
92
+ const {
93
+ validation: t,
94
+ value: n
95
+ } = e;
96
+ return l(n, t), a.a.createElement(r.Provider, {
97
+ value: n
98
+ }, e.children);
99
+ }
100
+
101
+ function h() {
102
+ return r;
103
+ }
104
+ },
105
+ "20PO": function PO(e, t) {
106
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M9.7 9l4.65-4.65-.7-.7L9 8.29 4.35 3.65l-.7.7L8.29 9l-4.64 4.65.7.7L9 9.71l4.65 4.64.7-.7L9.71 9z"/></svg>';
107
+ },
108
+ "2mG+": function mG(e, t, n) {
109
+ e.exports = {
110
+ button: "button-2-onvH7F"
111
+ };
112
+ },
113
+ "5o6O": function o6O(e, t, n) {
114
+ e.exports = {
115
+ tabs: "tabs-3I2ohC86",
116
+ tab: "tab-3I2ohC86",
117
+ noBorder: "noBorder-3I2ohC86",
118
+ disabled: "disabled-3I2ohC86",
119
+ active: "active-3I2ohC86",
120
+ defaultCursor: "defaultCursor-3I2ohC86",
121
+ slider: "slider-3I2ohC86",
122
+ content: "content-3I2ohC86"
123
+ };
124
+ },
125
+ "6KyJ": function KyJ(e, t, n) {
126
+ "use strict";
127
+
128
+ var i,
129
+ a = n("q1tI"),
130
+ s = n("TSYQ"),
131
+ o = n("K9GE"),
132
+ r = n("YZ9j");
133
+ n("O7m7");
134
+ !function (e) {
135
+ e[e.Initial = 0] = "Initial", e[e.Appear = 1] = "Appear", e[e.Active = 2] = "Active";
136
+ }(i || (i = {}));
137
+
138
+ class l extends a.PureComponent {
139
+ constructor(e) {
140
+ super(e), this._stateChangeTimeout = null, this.state = {
141
+ state: i.Initial
142
+ };
143
+ }
144
+
145
+ render() {
146
+ const {
147
+ className: e,
148
+ color: t = "black"
149
+ } = this.props,
150
+ n = s(r.item, {
151
+ [r[t]]: Boolean(t)
152
+ });
153
+ return a.createElement("span", {
154
+ className: s(r.loader, e, this._getStateClass())
155
+ }, a.createElement("span", {
156
+ className: n
157
+ }), a.createElement("span", {
158
+ className: n
159
+ }), a.createElement("span", {
160
+ className: n
161
+ }));
162
+ }
163
+
164
+ componentDidMount() {
165
+ this.setState({
166
+ state: i.Appear
167
+ }), this._stateChangeTimeout = setTimeout(() => {
168
+ this.setState({
169
+ state: i.Active
170
+ });
171
+ }, 2 * o.b);
172
+ }
173
+
174
+ componentWillUnmount() {
175
+ this._stateChangeTimeout && (clearTimeout(this._stateChangeTimeout), this._stateChangeTimeout = null);
176
+ }
177
+
178
+ _getStateClass() {
179
+ switch (this.state.state) {
180
+ case i.Initial:
181
+ return r["loader-initial"];
182
+
183
+ case i.Appear:
184
+ return r["loader-appear"];
185
+
186
+ default:
187
+ return "";
188
+ }
189
+ }
190
+
191
+ }
192
+
193
+ n.d(t, "a", function () {
194
+ return l;
195
+ });
196
+ },
197
+ "9VJd": function VJd(e, t) {
198
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" d="M5.5 13v-2.5m8.5 11h6.5a2 2 0 0 0 2-2v-9m-17 0v-2c0-1.1.9-2 2-2h13a2 2 0 0 1 2 2v2m-17 0h17"/><path fill="currentColor" d="M10 4h1v4h-1V4zM17 4h1v4h-1V4z"/><path stroke="currentColor" d="M4 18.5h7.5m0 0L8 22m3.5-3.5L8 15"/></svg>';
199
+ },
200
+ "9dlw": function dlw(e, t, n) {
201
+ "use strict";
202
+
203
+ n.d(t, "a", function () {
204
+ return d;
205
+ });
206
+ var i = n("q1tI"),
207
+ a = n.n(i),
208
+ s = n("i8i4"),
209
+ o = n.n(s),
210
+ r = n("AiMB"),
211
+ l = n("DTHj"),
212
+ c = n("X0gx"),
213
+ h = n("8Rai");
214
+
215
+ function d(e) {
216
+ const {
217
+ controller: t,
218
+ children: n,
219
+ isOpened: s,
220
+ closeOnClickOutside: d = !0,
221
+ doNotCloseOn: u,
222
+ onClickOutside: m,
223
+ onClose: g
224
+ } = e,
225
+ p = _objectWithoutProperties(e, _excluded),
226
+ b = Object(i.useContext)(c.a),
227
+ v = Object(h.a)({
228
+ handler: function handler(e) {
229
+ m && m(e);
230
+ if (!d) return;
231
+
232
+ if (u && e.target instanceof Node) {
233
+ const t = o.a.findDOMNode(u);
234
+ if (t instanceof Node && t.contains(e.target)) return;
235
+ }
236
+
237
+ g();
238
+ },
239
+ mouseDown: !0,
240
+ touchStart: !0
241
+ });
242
+
243
+ return s ? a.a.createElement(r.a, {
244
+ top: "0",
245
+ left: "0",
246
+ right: "0",
247
+ bottom: "0",
248
+ pointerEvents: "none"
249
+ }, a.a.createElement("span", {
250
+ ref: v,
251
+ style: {
252
+ pointerEvents: "auto"
253
+ }
254
+ }, a.a.createElement(l.b, _objectSpread(_objectSpread({}, p), {}, {
255
+ onClose: g,
256
+ onScroll: function onScroll(t) {
257
+ const {
258
+ onScroll: n
259
+ } = e;
260
+ n && n(t);
261
+ },
262
+ customCloseDelegate: b,
263
+ ref: t
264
+ }), n))) : null;
265
+ }
266
+ },
267
+ ApAi: function ApAi(e, t) {
268
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"><path fill="none" stroke="currentColor" d="M11 1.5h3.5a2 2 0 0 1 2 2V7m0 5v2.5a2 2 0 0 1-2 2H11m-4 0H3.5a2 2 0 0 1-2-2V11m0-4V3.5a2 2 0 0 1 2-2H7"/></svg>';
269
+ },
270
+ "J+f8": function JF8(e, t, n) {
271
+ "use strict";
272
+
273
+ n.d(t, "a", function () {
274
+ return a;
275
+ });
276
+ var i = n("q1tI");
277
+ const a = i.createContext(!1);
278
+ },
279
+ J3OW: function J3OW(e, t, n) {
280
+ e.exports = {
281
+ button: "button-15caiVtH",
282
+ separator: "separator-15caiVtH"
283
+ };
284
+ },
285
+ K3s3: function K3s3(e, t, n) {
286
+ "use strict";
287
+
288
+ n.d(t, "a", function () {
289
+ return r;
290
+ }), n.d(t, "b", function () {
291
+ return l;
292
+ }), n.d(t, "c", function () {
293
+ return c;
294
+ });
295
+ var i = n("q1tI"),
296
+ a = n("TSYQ"),
297
+ s = n("Eyy1"),
298
+ o = n("5o6O");
299
+ const r = o;
300
+
301
+ function l(e) {
302
+ const t = a(e.className, o.tab, {
303
+ [o.active]: e.isActive,
304
+ [o.disabled]: e.isDisabled,
305
+ [o.defaultCursor]: !!e.shouldUseDefaultCursor,
306
+ [o.noBorder]: !!e.noBorder
307
+ });
308
+ return i.createElement("div", {
309
+ className: t,
310
+ onClick: e.onClick,
311
+ ref: e.reference,
312
+ "data-type": "tab-item",
313
+ "data-value": e.value,
314
+ "data-name": "tab-item-" + e.value.toString().toLowerCase()
315
+ }, e.children);
316
+ }
317
+
318
+ function c(e) {
319
+ return class extends i.PureComponent {
320
+ constructor() {
321
+ super(...arguments), this.activeTab = {
322
+ current: null
323
+ };
324
+ }
325
+
326
+ componentDidUpdate() {
327
+ Object(s.ensureNotNull)(this._slider).style.transition = "transform 350ms", this._componentDidUpdate();
328
+ }
329
+
330
+ componentDidMount() {
331
+ this._componentDidUpdate();
332
+ }
333
+
334
+ render() {
335
+ const {
336
+ className: t
337
+ } = this.props,
338
+ n = this._generateTabs();
339
+
340
+ return i.createElement("div", {
341
+ className: a(t, o.tabs),
342
+ "data-name": this.props["data-name"]
343
+ }, n, i.createElement(e, {
344
+ reference: e => {
345
+ this._slider = e;
346
+ }
347
+ }));
348
+ }
349
+
350
+ _generateTabs() {
351
+ return this.activeTab.current = null, i.Children.map(this.props.children, e => {
352
+ const t = e,
353
+ n = Boolean(t.props.isActive),
354
+ a = {
355
+ reference: e => {
356
+ n && (this.activeTab.current = e), t.props.reference && t.props.reference(e);
357
+ }
358
+ };
359
+ return i.cloneElement(t, a);
360
+ });
361
+ }
362
+
363
+ _componentDidUpdate() {
364
+ const e = Object(s.ensureNotNull)(this._slider).style;
365
+
366
+ if (this.activeTab.current) {
367
+ const t = this.activeTab.current.offsetWidth,
368
+ n = this.activeTab.current.offsetLeft;
369
+ e.transform = "translateX(".concat(n, "px)"), e.width = t + "px", e.opacity = "1";
370
+ } else e.opacity = "0";
371
+ }
372
+
373
+ };
374
+ }
375
+
376
+ c(function (e) {
377
+ return i.createElement("div", {
378
+ className: o.slider,
379
+ ref: e.reference
380
+ });
381
+ });
382
+ },
383
+ KKsp: function KKsp(e, t, n) {
384
+ "use strict";
385
+
386
+ n.d(t, "a", function () {
387
+ return r;
388
+ });
389
+ var i = n("q1tI"),
390
+ a = n("TSYQ"),
391
+ s = n.n(a),
392
+ o = n("NOPy");
393
+
394
+ function r(e) {
395
+ const {
396
+ size: t = "normal",
397
+ className: n
398
+ } = e;
399
+ return i.createElement("div", {
400
+ className: s()(o.separator, "small" === t && o.small, "normal" === t && o.normal, "large" === t && o.large, n)
401
+ });
402
+ }
403
+ },
404
+ MfqI: function MfqI(e, t, n) {
405
+ "use strict";
406
+
407
+ n.r(t);
408
+
409
+ var i = n("q1tI"),
410
+ a = n.n(i),
411
+ s = n("i8i4"),
412
+ o = n("YFKU"),
413
+ r = n("17x9"),
414
+ l = n("TSYQ"),
415
+ c = n("cvc5"),
416
+ h = n("Kxc7"),
417
+ d = n("82wv"),
418
+ u = n("Iksw"),
419
+ m = n("tWVy"),
420
+ g = n("/KDZ"),
421
+ p = n("N5tr"),
422
+ b = n("KKsp"),
423
+ v = n("Eyy1"),
424
+ f = n("JWMC"),
425
+ _ = n("1TxM"),
426
+ C = n("aIyQ"),
427
+ S = n.n(C),
428
+ y = n("dfhE");
429
+
430
+ class E {
431
+ constructor(e) {
432
+ this._state = {
433
+ ranges: []
434
+ }, this._change = new S.a(), this._rangeChangedListenerBound = this._onRangeChanged.bind(this);
435
+ const {
436
+ chartWidget: t
437
+ } = this._context = e;
438
+ t.withModel(null, () => {
439
+ const e = t.model(),
440
+ n = e.mainSeries();
441
+ n.onStatusChanged().subscribe(this, this._updateAvailableRanges), h.enabled("update_timeframes_set_on_symbol_resolve") && n.dataEvents().symbolResolved().subscribe(this, this._updateAvailableRanges), n.priceScale().properties().childs().lockScale.subscribe(this, this._updateAvailableRanges);
442
+ const i = e.model().appliedTimeFrame();
443
+ i.subscribe(this._rangeChangedListenerBound), this._rangeChangedListenerBound(i.value()), this._updateAvailableRanges();
444
+ });
445
+ }
446
+
447
+ state() {
448
+ return this._state;
449
+ }
450
+
451
+ onChange() {
452
+ return this._change;
453
+ }
454
+
455
+ selectRange(e) {
456
+ this._setState({
457
+ activeRange: e.value.value
458
+ });
459
+
460
+ const {
461
+ chartWidgetCollection: t
462
+ } = this._context,
463
+ n = {
464
+ val: e.value,
465
+ res: e.targetResolution
466
+ };
467
+ t.setTimeFrame(n);
468
+ }
469
+
470
+ destroy() {
471
+ const {
472
+ chartWidget: e
473
+ } = this._context;
474
+ e.withModel(null, () => {
475
+ const t = e.model(),
476
+ n = t.mainSeries();
477
+ n.onStatusChanged().unsubscribe(this, this._updateAvailableRanges), h.enabled("update_timeframes_set_on_symbol_resolve") && n.dataEvents().symbolResolved().unsubscribe(this, this._updateAvailableRanges), n.priceScale().properties().childs().lockScale.unsubscribe(this, this._updateAvailableRanges), t.model().appliedTimeFrame().unsubscribe(this._rangeChangedListenerBound);
478
+ }), this._change.destroy();
479
+ }
480
+
481
+ _setState(e) {
482
+ this._state = Object.assign({}, this._state, e), this._change.fire(this._state);
483
+ }
484
+
485
+ _onRangeChanged(e) {
486
+ let t;
487
+ null !== e && "period-back" === e.val.type && (t = e.val.value), this._setState({
488
+ activeRange: t
489
+ });
490
+ }
491
+
492
+ _updateAvailableRanges() {
493
+ const {
494
+ availableTimeFrames: e,
495
+ chartWidget: t
496
+ } = this._context;
497
+ if (!t.hasModel()) return;
498
+ const n = t.model().mainSeries(),
499
+ i = n.status();
500
+ if (i === y.STATUS_LOADING || i === y.STATUS_RESOLVING) return;
501
+ const a = e(n.symbolInfo(), n.status());
502
+ 0 !== a.length && this._setState({
503
+ ranges: a
504
+ });
505
+ }
506
+
507
+ }
508
+
509
+ const x = Object(_.b)();
510
+
511
+ function w(e) {
512
+ var t;
513
+ return (t = class extends i.PureComponent {
514
+ constructor(e, t) {
515
+ super(e, t), this._handleUpdate = e => {
516
+ this.setState(e);
517
+ }, this._handleSelectRange = e => {
518
+ Object(f.trackEvent)("GUI", "Chart Bottom Toolbar", "range " + e.value), this._binding.selectRange(e);
519
+ }, Object(_.c)(t, {
520
+ availableTimeFrames: r.any.isRequired,
521
+ chartWidgetCollection: r.any.isRequired,
522
+ chartWidget: r.any.isRequired
523
+ }), N.has(t.chartWidget) || N.set(t.chartWidget, new E(t));
524
+ const n = this._binding = Object(v.ensureDefined)(N.get(t.chartWidget));
525
+ this.state = n.state();
526
+ }
527
+
528
+ componentDidMount() {
529
+ this._binding.onChange().subscribe(this, this._handleUpdate);
530
+ }
531
+
532
+ componentWillUnmount() {
533
+ this._binding.onChange().unsubscribe(this, this._handleUpdate);
534
+ }
535
+
536
+ render() {
537
+ return i.createElement(e, {
538
+ goToDateButton: this.props.goToDateButton,
539
+ className: this.props.className,
540
+ ranges: this.state.ranges,
541
+ activeRange: this.state.activeRange,
542
+ onSelectRange: this._handleSelectRange
543
+ });
544
+ }
545
+
546
+ }).contextType = x, t;
547
+ }
548
+
549
+ const N = new WeakMap();
550
+ var R = n("cdbK"),
551
+ T = n("l4ku"),
552
+ k = n("02pg"),
553
+ M = n("2uTr"),
554
+ A = n("9VJd"),
555
+ W = n("J3OW");
556
+
557
+ function O(e) {
558
+ const {
559
+ ranges: t,
560
+ activeRange: n,
561
+ onSelectRange: i
562
+ } = e;
563
+ return a.a.createElement(a.a.Fragment, null, t.map(e => a.a.createElement(T.a, {
564
+ key: e.value.value,
565
+ label: e.description || e.text,
566
+ active: n === e.value.value,
567
+ checked: n === e.value.value,
568
+ checkable: !0,
569
+ disabled: !1,
570
+ onClick: s.bind(null, e),
571
+ doNotCloseOnClick: !1,
572
+ subItems: []
573
+ })));
574
+
575
+ function s(e) {
576
+ e && i && i(e), Object(m.b)();
577
+ }
578
+ }
579
+
580
+ function B(e) {
581
+ const {
582
+ onGoToDateClick: t
583
+ } = e;
584
+ return a.a.createElement(a.a.Fragment, null, a.a.createElement(k.a, {
585
+ className: W.separator
586
+ }), a.a.createElement(T.a, {
587
+ icon: A,
588
+ label: Object(M.appendEllipsis)(Object(o.t)("Go to")),
589
+ onClick: t,
590
+ active: !1,
591
+ checked: !1,
592
+ checkable: !1,
593
+ disabled: !1,
594
+ doNotCloseOnClick: !1,
595
+ subItems: []
596
+ }));
597
+ }
598
+
599
+ const j = {
600
+ title: window.t("Date Range"),
601
+ goToDate: Object(M.appendEllipsis)(window.t("Go to"))
602
+ },
603
+ I = Object(_.b)();
604
+
605
+ class D extends i.PureComponent {
606
+ constructor(e, t) {
607
+ super(e, t), this._handleGoToDateClick = () => {
608
+ const {
609
+ chartWidget: e
610
+ } = this.context;
611
+ Object(R.showGoToDateDialog)(e), Object(m.b)();
612
+ }, this._handleRangeSelect = e => {
613
+ e && this.props.onSelectRange && this.props.onSelectRange(e), Object(m.b)();
614
+ }, this._renderChildren = e => {
615
+ const {
616
+ ranges: t,
617
+ activeRange: n,
618
+ goToDateButton: a
619
+ } = this.props;
620
+ return e ? i.createElement(i.Fragment, null, i.createElement(O, {
621
+ ranges: t,
622
+ activeRange: n,
623
+ onSelectRange: this._handleRangeSelect
624
+ }), a && i.createElement(B, {
625
+ onGoToDateClick: this._handleGoToDateClick
626
+ })) : i.createElement(i.Fragment, null, t.map(e => i.createElement(p.b, {
627
+ key: e.value.value,
628
+ label: e.description || e.text,
629
+ isActive: n === e.value.value,
630
+ onClick: this._handleRangeSelect,
631
+ onClickArg: e
632
+ })), a && i.createElement(b.a, null), a && i.createElement(p.b, {
633
+ label: j.goToDate,
634
+ onClick: this._handleGoToDateClick
635
+ }));
636
+ }, Object(_.c)(t, {
637
+ chartWidget: r.any.isRequired
638
+ });
639
+ }
640
+
641
+ render() {
642
+ return i.createElement(g.a, {
643
+ rule: "screen and (max-width: 428px)"
644
+ }, e => i.createElement(d.a, {
645
+ className: W.button,
646
+ content: j.title,
647
+ arrow: !0,
648
+ verticalAttachEdge: u.c.Top,
649
+ verticalDropDirection: u.d.FromBottomToTop,
650
+ horizontalMargin: 4,
651
+ "data-name": "date-ranges-menu",
652
+ isDrawer: e
653
+ }, this._renderChildren(e)));
654
+ }
655
+
656
+ }
657
+
658
+ D.contextType = I;
659
+ const L = w(D);
660
+ var z = n("K3s3"),
661
+ P = n("W9Y+");
662
+
663
+ function F(e) {
664
+ const t = l(e.className, P.item, {
665
+ [P.isActive]: e.isActive,
666
+ [P.isFirst]: e.isFirst,
667
+ [P.isLast]: e.isLast
668
+ });
669
+ return i.createElement("div", {
670
+ className: t,
671
+ onClick: e.onClick,
672
+ ref: e.reference
673
+ }, e.children);
674
+ }
675
+
676
+ var U = n("nPPD"),
677
+ q = n("RZ2Z");
678
+ const H = Object(U.a)(z.a, q);
679
+ var K = n("qSb5");
680
+ const G = Object(z.c)(function (e) {
681
+ return i.createElement("div", {
682
+ className: l(e.className, H.slider),
683
+ ref: e.reference
684
+ }, i.createElement("div", {
685
+ className: H.inner
686
+ }));
687
+ });
688
+ const X = w(function (e) {
689
+ const {
690
+ className: t,
691
+ ranges: n,
692
+ activeRange: a,
693
+ onSelectRange: s
694
+ } = e;
695
+ return i.createElement(G, {
696
+ className: l(K.sliderRow, t),
697
+ "data-name": "date-ranges-tabs"
698
+ }, n.map((e, t) => i.createElement(F, {
699
+ key: e.value.value,
700
+ value: e.value.value,
701
+ isFirst: 0 === t,
702
+ isLast: t === n.length - 1,
703
+ isActive: a === e.value.value,
704
+ onClick: s && s.bind(null, e)
705
+ }, i.createElement("div", {
706
+ title: e.description || e.text,
707
+ className: "apply-common-tooltip"
708
+ }, e.text))));
709
+ });
710
+ var V = n("Iivm"),
711
+ Y = n("/DW5"),
712
+ Z = n("ul7r"),
713
+ Q = n("c7H2");
714
+ const J = Object(Y.b)({
715
+ keys: ["Alt", "G"],
716
+ text: "{0} + {1}"
717
+ }),
718
+ $ = Object(_.b)();
719
+
720
+ class ee extends i.PureComponent {
721
+ constructor(e, t) {
722
+ super(e, t), this._handleClick = () => {
723
+ const {
724
+ chartWidget: e
725
+ } = this.context;
726
+ Object(f.trackEvent)("GUI", "Chart Bottom Toolbar", "go to"), Object(R.showGoToDateDialog)(e);
727
+ }, Object(_.c)(t, {
728
+ chartWidget: r.any.isRequired
729
+ });
730
+ }
731
+
732
+ render() {
733
+ const {
734
+ className: e,
735
+ ranges: t
736
+ } = this.props;
737
+ return t.length > 0 && i.createElement("div", {
738
+ className: l("apply-common-tooltip", Q.button, e),
739
+ "data-name": "go-to-date",
740
+ "data-tooltip-hotkey": J,
741
+ onClick: this._handleClick,
742
+ title: Object(o.t)("Go to")
743
+ }, i.createElement(V.a, {
744
+ className: Q.icon,
745
+ icon: Z
746
+ }));
747
+ }
748
+
749
+ }
750
+
751
+ ee.contextType = $;
752
+ const te = w(ee);
753
+ var ne = n("URQ3");
754
+
755
+ function ie(e) {
756
+ const {
757
+ reference: t,
758
+ className: n,
759
+ children: a
760
+ } = e,
761
+ s = _objectWithoutProperties(e, _excluded2);
762
+
763
+ return i.createElement("button", _objectSpread(_objectSpread({}, s), {}, {
764
+ className: l(n, ne.button),
765
+ ref: t
766
+ }), i.createElement("span", {
767
+ className: ne.inner
768
+ }, a));
769
+ }
770
+
771
+ var ae = n("/+9u"),
772
+ se = n("4kQX"),
773
+ oe = n("7KDR"),
774
+ re = n("5VQP");
775
+
776
+ class le extends i.PureComponent {
777
+ constructor(e) {
778
+ super(e), this._element = null, this._menu = null, this._handleRef = e => {
779
+ this._element = e;
780
+ }, this._showMenu = () => {
781
+ if (this._menu && this._menu.isShown()) return this._menu.hide(), void this._menu.destroy();
782
+ const {
783
+ getActions: e,
784
+ right: t
785
+ } = this.props,
786
+ n = Object(v.ensureNotNull)(this._element),
787
+ i = e();
788
+ 0 !== i.length && re.ContextMenuManager.createMenu(i).then(e => {
789
+ this._menu = e, e.show((e, i) => {
790
+ const a = n.getBoundingClientRect();
791
+ return {
792
+ clientX: t ? a.right - e : a.left,
793
+ clientY: a.top - Math.min(i, a.top),
794
+ overrideHeight: a.top < i ? a.top : void 0
795
+ };
796
+ }, this._element || void 0);
797
+ });
798
+ };
799
+ }
800
+
801
+ render() {
802
+ const {
803
+ children: e
804
+ } = this.props;
805
+ return i.createElement("span", {
806
+ onClick: this._showMenu,
807
+ ref: this._handleRef
808
+ }, e);
809
+ }
810
+
811
+ }
812
+
813
+ var ce = n("jCNj"),
814
+ he = n("2mG+");
815
+ const de = {
816
+ hint: window.t("Timezone")
817
+ };
818
+ const ue = Object(_.b)();
819
+
820
+ class me extends i.PureComponent {
821
+ constructor(e, t) {
822
+ super(e, t), this._timeFormatter = new se.TimeFormatter(), this._tickInterval = void 0, this._tickClock = () => {
823
+ const {
824
+ chartApiInstance: e
825
+ } = this.context;
826
+
827
+ if (void 0 !== this._timezone) {
828
+ const t = Object(ce.utc_to_cal)(this._timezone, e.serverTime());
829
+ this.setState({
830
+ time: this._timeFormatter.format(t)
831
+ });
832
+ }
833
+ }, this._getActions = () => {
834
+ if (!this.props.withMenu) return [];
835
+ const {
836
+ chartWidget: e
837
+ } = this.context;
838
+ return function (e) {
839
+ e.updateActions();
840
+ const t = e.actions();
841
+ return t && t.applyTimeZone instanceof oe.Action ? t.applyTimeZone.getSubItems() : [];
842
+ }(e);
843
+ }, Object(_.c)(t, {
844
+ chartWidget: r.any.isRequired,
845
+ chartApiInstance: r.any.isRequired
846
+ }), this.state = {
847
+ time: ""
848
+ };
849
+ }
850
+
851
+ componentDidMount() {
852
+ const {
853
+ chartWidget: e
854
+ } = this.context;
855
+ this._tickInterval = setInterval(this._tickClock, 1e3), e.withModel(null, () => {
856
+ const t = e.model();
857
+ t.model().mainSeries().dataEvents().symbolResolved().subscribe(this, this.updateTimezonesButton), t.model().properties().timezone.subscribe(this, this.updateTimezonesButton);
858
+ });
859
+ }
860
+
861
+ componentWillUnmount() {
862
+ const {
863
+ chartWidget: e
864
+ } = this.context;
865
+ clearInterval(this._tickInterval), e.withModel(null, () => {
866
+ const t = e.model();
867
+ t.model().mainSeries().dataEvents().symbolResolved().unsubscribe(this, this.updateTimezonesButton), t.model().properties().timezone.unsubscribe(this, this.updateTimezonesButton);
868
+ });
869
+ }
870
+
871
+ render() {
872
+ const {
873
+ className: e,
874
+ withMenu: t
875
+ } = this.props,
876
+ {
877
+ time: n
878
+ } = this.state,
879
+ a = void 0 !== this._timezone ? Object(ae.a)(this._timezone.name()).string : null;
880
+ return i.createElement(le, {
881
+ getActions: this._getActions
882
+ }, i.createElement(ie, {
883
+ className: l(e, he.button, "apply-common-tooltip"),
884
+ title: t ? de.hint : void 0,
885
+ disabled: !t,
886
+ "data-name": "time-zone-menu"
887
+ }, n && a && "".concat(n, " (").concat(a, ")")));
888
+ }
889
+
890
+ updateTimezonesButton() {
891
+ const {
892
+ chartWidget: e
893
+ } = this.context;
894
+ if (!e.hasModel()) return;
895
+ if (null === e.model().mainSeries().symbolInfo()) return;
896
+ let t = e.model().model().timezone();
897
+
898
+ if ("exchange" === t) {
899
+ const n = Object(v.ensureNotNull)(e.model().mainSeries().symbolInfo()).timezone;
900
+ n && (t = n);
901
+ }
902
+
903
+ this._timezone = Object(ce.get_timezone)(t), this._tickClock();
904
+ }
905
+
906
+ }
907
+
908
+ me.contextType = ue;
909
+ var ge = n("z6ID");
910
+
911
+ function pe(e) {
912
+ return i.createElement("span", {
913
+ className: l(ge.separator, e.className)
914
+ });
915
+ }
916
+
917
+ var be = n("tU7i"),
918
+ ve = n("qFKp");
919
+
920
+ class fe {
921
+ constructor(e, t, n) {
922
+ this._highlighted = !1, this._chartWidget = e, this._priceScaleGetter = t, this._owner = n, this._setHighlight = this._setHighlight.bind(this), this._removeHighlight = this._removeHighlight.bind(this);
923
+ }
924
+
925
+ destroy() {
926
+ this._highlighted && this._removeHighlight();
927
+ }
928
+
929
+ handlers() {
930
+ const e = ve.CheckMobile.any();
931
+ return {
932
+ onMouseEnter: e ? void 0 : this._setHighlight,
933
+ onMouseLeave: e ? void 0 : this._removeHighlight
934
+ };
935
+ }
936
+
937
+ _setHighlight() {
938
+ const e = this._chartWidget.model().model(),
939
+ t = e.paneForSource(e.mainSeries()),
940
+ n = this._priceScaleGetter();
941
+
942
+ if (null === t || null === n) return;
943
+
944
+ const i = this._chartWidget.paneByState(t);
945
+
946
+ if (null !== i) {
947
+ const t = i.rightPriceAxisesContainer().findAxisWidgetForScale(n);
948
+ let a = null;
949
+ null !== t && (a = t.axisInfo());
950
+ const s = i.leftPriceAxisesContainer().findAxisWidgetForScale(n);
951
+ null !== s && (a = s.axisInfo());
952
+ const o = i.highlightedPriceAxis();
953
+ null !== a && o.value().axis !== a && (o.setValue({
954
+ owner: this._owner,
955
+ axis: a
956
+ }), e.lightUpdate(), this._highlighted = !0);
957
+ }
958
+ }
959
+
960
+ _removeHighlight() {
961
+ const e = this._chartWidget.model().model(),
962
+ t = e.paneForSource(e.mainSeries());
963
+
964
+ if (null === t) return;
965
+
966
+ const n = this._chartWidget.paneByState(t);
967
+
968
+ if (null !== n) {
969
+ const t = n.highlightedPriceAxis(),
970
+ i = t.value();
971
+ null !== i.axis && i.owner === this._owner && (t.setValue({
972
+ owner: this._owner,
973
+ axis: null
974
+ }), e.lightUpdate(), this._highlighted = !1);
975
+ }
976
+ }
977
+
978
+ }
979
+
980
+ const _e = Object(_.b)();
981
+
982
+ const Ce = Object(_.b)();
983
+ const Se = Object(_.b)();
984
+ const ye = Object(_.b)();
985
+ var Ee = n("+GaQ"),
986
+ xe = n("XAms"),
987
+ we = n("T4/F"),
988
+ Ne = n("ApAi"),
989
+ Re = n("PP+v");
990
+ const Te = {
991
+ extLabel: window.t("ext"),
992
+ extHint: window.t("Extended Hours is available only for intraday charts"),
993
+ percentageHint: window.t("Toggle Percentage"),
994
+ logLabel: window.t("log", {
995
+ context: "scale"
996
+ }),
997
+ logHint: window.t("Toggle Log Scale"),
998
+ autoLabel: window.t("auto", {
999
+ context: "scale"
1000
+ }),
1001
+ autoHint: window.t("Toggle Auto Scale"),
1002
+ fullscreenHint: window.t("Toggle Maximize Chart"),
1003
+ adjLabel: window.t("adj", {
1004
+ context: "adjustments"
1005
+ }),
1006
+ adjHint: window.t("Adjust data for dividends"),
1007
+ adjForDividendsOnlyHint: window.t("Data is adjusted for dividends only"),
1008
+ adjForSplitsOnlyHint: window.t("Data is adjusted for splits only")
1009
+ },
1010
+ ke = (Me = e => i.createElement(be.b, {
1011
+ text: Te.logLabel,
1012
+ title: Te.logHint,
1013
+ className: e.className,
1014
+ isActive: e.isLogarithm,
1015
+ isGrouped: !0,
1016
+ onClick: e.onClick,
1017
+ onMouseEnter: e.onMouseEnter,
1018
+ onMouseLeave: e.onMouseLeave,
1019
+ "data-name": "logarithm"
1020
+ }), (Ae = class extends i.PureComponent {
1021
+ constructor(e, t) {
1022
+ super(e, t), this._priceScale = null, this._handleSelect = () => {
1023
+ const e = this.context.chartWidget.model(),
1024
+ t = Object(v.ensureNotNull)(this.state.series),
1025
+ n = t.priceScale(),
1026
+ i = n.mode();
1027
+ t.priceScale().isLockScale() || e.setPriceScaleMode({
1028
+ log: !i.log
1029
+ }, n, window.t("Toggle Log Scale"));
1030
+ }, Object(_.c)(t, {
1031
+ chartWidget: r.any.isRequired
1032
+ }), this.state = {
1033
+ isActive: !1,
1034
+ series: null
1035
+ }, this._priceAxisHighlighter = new fe(this.context.chartWidget, () => this._priceScale, "logarithm");
1036
+ }
1037
+
1038
+ componentDidMount() {
1039
+ const e = this.context.chartWidget;
1040
+ e.withModel(null, () => {
1041
+ const t = e.model().mainSeries(),
1042
+ n = t.priceScale();
1043
+ this._handleMainSeriesPriceScaleChanged(n), t.priceScaleChanged().subscribe(this, this._handleMainSeriesPriceScaleChanged), this._handleModeChanged({}, n.mode()), this.setState({
1044
+ isActive: t.priceScale().isLog(),
1045
+ series: t
1046
+ });
1047
+ });
1048
+ }
1049
+
1050
+ componentWillUnmount() {
1051
+ const e = this.context.chartWidget;
1052
+ e.withModel(null, () => {
1053
+ e.model().mainSeries().priceScaleChanged().unsubscribe(this, this._handleMainSeriesPriceScaleChanged);
1054
+ }), null !== this._priceScale && (this._priceScale.modeChanged().unsubscribeAll(this), this._priceScale = null), this._priceAxisHighlighter.destroy();
1055
+ }
1056
+
1057
+ render() {
1058
+ const {
1059
+ className: e
1060
+ } = this.props,
1061
+ {
1062
+ isActive: t,
1063
+ series: n
1064
+ } = this.state;
1065
+ return i.createElement(Me, _objectSpread(_objectSpread({}, this._priceAxisHighlighter.handlers()), {}, {
1066
+ className: e,
1067
+ isLogarithm: t,
1068
+ isDisabled: null === n,
1069
+ onClick: this._handleSelect
1070
+ }));
1071
+ }
1072
+
1073
+ _handleMainSeriesPriceScaleChanged(e) {
1074
+ null !== this._priceScale && this._priceScale.modeChanged().unsubscribe(this, this._handleModeChanged), this._priceScale = e, this._priceScale.modeChanged().subscribe(this, this._handleModeChanged), this._handleModeChanged({}, e.mode());
1075
+ }
1076
+
1077
+ _handleModeChanged(e, t) {
1078
+ Boolean(t.log) !== this.state.isActive && this.setState({
1079
+ isActive: Boolean(t.log)
1080
+ });
1081
+ }
1082
+
1083
+ }).contextType = _e, Ae);
1084
+ var Me, Ae;
1085
+
1086
+ const We = function (e) {
1087
+ var t;
1088
+ return (t = class extends i.PureComponent {
1089
+ constructor(e, t) {
1090
+ super(e, t), this._priceScale = null, this._handleSelect = () => {
1091
+ const e = this.context.chartWidget.model(),
1092
+ t = Object(v.ensureNotNull)(this.state.series).priceScale(),
1093
+ n = t.mode();
1094
+ e.setPriceScaleMode({
1095
+ autoScale: !n.autoScale
1096
+ }, t, window.t("Toggle Auto Scale"));
1097
+ }, Object(_.c)(t, {
1098
+ chartWidget: r.any.isRequired
1099
+ }), this.state = {
1100
+ isActive: !1,
1101
+ series: null
1102
+ }, this._priceAxisHighlighter = new fe(this.context.chartWidget, () => this._priceScale, "auto");
1103
+ }
1104
+
1105
+ componentDidMount() {
1106
+ const e = this.context.chartWidget;
1107
+ e.withModel(null, () => {
1108
+ const t = e.model().mainSeries(),
1109
+ n = t.priceScale();
1110
+ this._handleMainSeriesPriceScaleChanged(n), t.priceScaleChanged().subscribe(this, this._handleMainSeriesPriceScaleChanged), this._handleModeChanged({}, n.mode()), this.setState({
1111
+ isActive: t.priceScale().isAutoScale(),
1112
+ series: t
1113
+ });
1114
+ });
1115
+ }
1116
+
1117
+ componentWillUnmount() {
1118
+ const e = this.context.chartWidget;
1119
+ e.withModel(null, () => {
1120
+ e.model().mainSeries().priceScaleChanged().unsubscribe(this, this._handleMainSeriesPriceScaleChanged);
1121
+ }), null !== this._priceScale && (this._priceScale.modeChanged().unsubscribeAll(this), this._priceScale = null), this._priceAxisHighlighter.destroy();
1122
+ }
1123
+
1124
+ render() {
1125
+ const {
1126
+ className: t
1127
+ } = this.props,
1128
+ {
1129
+ isActive: n,
1130
+ series: a
1131
+ } = this.state;
1132
+ return i.createElement(e, _objectSpread(_objectSpread({}, this._priceAxisHighlighter.handlers()), {}, {
1133
+ className: t,
1134
+ isAuto: n,
1135
+ isDisabled: null === a,
1136
+ onClick: this._handleSelect
1137
+ }));
1138
+ }
1139
+
1140
+ _handleMainSeriesPriceScaleChanged(e) {
1141
+ null !== this._priceScale && this._priceScale.modeChanged().unsubscribe(this, this._handleModeChanged), this._priceScale = e, this._priceScale.modeChanged().subscribe(this, this._handleModeChanged), this._handleModeChanged({}, e.mode());
1142
+ }
1143
+
1144
+ _handleModeChanged(e, t) {
1145
+ Boolean(t.autoScale) !== this.state.isActive && this.setState({
1146
+ isActive: Boolean(t.autoScale)
1147
+ });
1148
+ }
1149
+
1150
+ }).contextType = Ce, t;
1151
+ }(e => i.createElement(be.b, {
1152
+ text: Te.autoLabel,
1153
+ title: Te.autoHint,
1154
+ className: e.className,
1155
+ isActive: e.isAuto,
1156
+ isGrouped: !0,
1157
+ onClick: e.onClick,
1158
+ onMouseEnter: e.onMouseEnter,
1159
+ onMouseLeave: e.onMouseLeave,
1160
+ "data-name": "auto"
1161
+ })),
1162
+ Oe = function (e) {
1163
+ var t;
1164
+ return (t = class extends i.PureComponent {
1165
+ constructor(e, t) {
1166
+ super(e, t), this._priceScale = null, this._handleSelect = () => {
1167
+ const e = this.context.chartWidget.model(),
1168
+ t = Object(v.ensureNotNull)(this.state.series),
1169
+ n = t.priceScale(),
1170
+ i = n.mode();
1171
+ t.priceScale().isLockScale() || e.setPriceScaleMode({
1172
+ percentage: !i.percentage
1173
+ }, n, window.t("Toggle Percentage Scale"));
1174
+ }, Object(_.c)(t, {
1175
+ chartWidget: r.any.isRequired
1176
+ }), this.state = {
1177
+ isActive: !1,
1178
+ series: null
1179
+ }, this._priceAxisHighlighter = new fe(this.context.chartWidget, () => this._priceScale, "percentage");
1180
+ }
1181
+
1182
+ componentDidMount() {
1183
+ const e = this.context.chartWidget;
1184
+ e.withModel(null, () => {
1185
+ const t = e.model().mainSeries(),
1186
+ n = t.priceScale();
1187
+ this._handleMainSeriesPriceScaleChanged(n), t.priceScaleChanged().subscribe(this, this._handleMainSeriesPriceScaleChanged), this._handleScaleChange({}, n.mode()), this.setState({
1188
+ isActive: t.priceScale().isPercentage(),
1189
+ series: t
1190
+ });
1191
+ });
1192
+ }
1193
+
1194
+ componentWillUnmount() {
1195
+ const e = this.context.chartWidget;
1196
+ e.withModel(null, () => {
1197
+ e.model().mainSeries().priceScaleChanged().unsubscribe(this, this._handleMainSeriesPriceScaleChanged);
1198
+ }), null !== this._priceScale && (this._priceScale.modeChanged().unsubscribeAll(this), this._priceScale = null), this._priceAxisHighlighter.destroy();
1199
+ }
1200
+
1201
+ render() {
1202
+ const {
1203
+ className: t
1204
+ } = this.props,
1205
+ {
1206
+ isActive: n,
1207
+ series: a
1208
+ } = this.state;
1209
+ return i.createElement(e, _objectSpread(_objectSpread({}, this._priceAxisHighlighter.handlers()), {}, {
1210
+ className: t,
1211
+ isPercentage: n,
1212
+ isDisabled: null === a,
1213
+ onClick: this._handleSelect
1214
+ }));
1215
+ }
1216
+
1217
+ _handleMainSeriesPriceScaleChanged(e) {
1218
+ null !== this._priceScale && this._priceScale.modeChanged().unsubscribe(this, this._handleScaleChange), this._priceScale = e, this._priceScale.modeChanged().subscribe(this, this._handleScaleChange), this._handleScaleChange({}, e.mode());
1219
+ }
1220
+
1221
+ _handleScaleChange(e, t) {
1222
+ Boolean(t.percentage) !== this.state.isActive && this.setState({
1223
+ isActive: Boolean(t.percentage)
1224
+ });
1225
+ }
1226
+
1227
+ }).contextType = Se, t;
1228
+ }(e => i.createElement(be.b, {
1229
+ icon: we,
1230
+ title: Te.percentageHint,
1231
+ className: e.className,
1232
+ isActive: e.isPercentage,
1233
+ isDisabled: e.isDisabled,
1234
+ isGrouped: !0,
1235
+ onClick: e.onClick,
1236
+ onMouseEnter: e.onMouseEnter,
1237
+ onMouseLeave: e.onMouseLeave,
1238
+ "data-name": "percentage"
1239
+ }));
1240
+
1241
+ const Be = Object(Y.b)({
1242
+ keys: ["Alt", "Enter"],
1243
+ text: "{0} + {1}"
1244
+ }),
1245
+ je = function (e) {
1246
+ var t;
1247
+ return (t = class extends i.PureComponent {
1248
+ constructor(e, t) {
1249
+ super(e, t), this._handleClick = e => {
1250
+ const {
1251
+ resizerDetacher: t,
1252
+ chartWidgetCollection: n
1253
+ } = this.context;
1254
+ e.shiftKey && t.detachable.value() ? t.detach() : this.state.isFullscreen ? t.exitFullscreen() : t.requestFullscreen();
1255
+ }, this._handleLayoutChange = e => {
1256
+ this.setState({
1257
+ isFullscreen: e
1258
+ });
1259
+ }, this._handlePhoneSize = () => {
1260
+ 0;
1261
+ }, Object(_.c)(t, {
1262
+ chartWidgetCollection: r.any.isRequired,
1263
+ resizerDetacher: r.any.isRequired
1264
+ });
1265
+ const {
1266
+ resizerDetacher: n
1267
+ } = t;
1268
+ this.state = {
1269
+ isFullscreen: n.fullscreen.value(),
1270
+ isChangeLayoutButton: this._isChangeLayoutButton()
1271
+ };
1272
+ }
1273
+
1274
+ componentDidMount() {
1275
+ const {
1276
+ resizerDetacher: e,
1277
+ chartWidgetCollection: t
1278
+ } = this.context,
1279
+ {
1280
+ mobileChangeLayoutEnabled: n
1281
+ } = this.props;
1282
+ e.fullscreen.subscribe(this._handleLayoutChange);
1283
+ }
1284
+
1285
+ componentWillUnmount() {
1286
+ const {
1287
+ resizerDetacher: e,
1288
+ chartWidgetCollection: t
1289
+ } = this.context,
1290
+ {
1291
+ mobileChangeLayoutEnabled: n
1292
+ } = this.props;
1293
+ e.fullscreen.unsubscribe(this._handleLayoutChange);
1294
+ }
1295
+
1296
+ render() {
1297
+ const {
1298
+ className: t
1299
+ } = this.props,
1300
+ {
1301
+ isFullscreen: n,
1302
+ isChangeLayoutButton: a
1303
+ } = this.state;
1304
+ return i.createElement(e, {
1305
+ className: t,
1306
+ isFullscreen: n,
1307
+ onClick: this._handleClick
1308
+ });
1309
+ }
1310
+
1311
+ _isChangeLayoutButton() {
1312
+ return !1;
1313
+ }
1314
+
1315
+ }).contextType = ye, t;
1316
+ }(e => i.createElement(be.b, {
1317
+ icon: Ne,
1318
+ title: Te.fullscreenHint,
1319
+ className: e.className,
1320
+ isActive: e.isFullscreen,
1321
+ onClick: e.onClick,
1322
+ "data-tooltip-hotkey": Be,
1323
+ "data-name": "fullscreen"
1324
+ })),
1325
+ Ie = {
1326
+ properties: !0,
1327
+ fullscreen: !0,
1328
+ preventPhoneLayout: !0
1329
+ },
1330
+ De = {
1331
+ fullscreen: Number.MIN_SAFE_INTEGER,
1332
+ preventPhoneLayout: Number.MIN_SAFE_INTEGER,
1333
+ properties: Number.MIN_SAFE_INTEGER,
1334
+ separator: -2,
1335
+ timeZones: -1,
1336
+ auto: 0,
1337
+ logarithm: 1,
1338
+ percentage: 2,
1339
+ session: 3,
1340
+ adj: 4
1341
+ },
1342
+ Le = (() => {
1343
+ const e = new Map();
1344
+ return e.set(ke, "logarithm"), e.set(Oe, "percentage"), e.set(We, "auto"), e.set(je, "fullscreen"), e;
1345
+ })();
1346
+
1347
+ function ze(e) {
1348
+ 0;
1349
+ }
1350
+
1351
+ const Pe = {
1352
+ dateRangeMode: "hidden",
1353
+ separator: !0,
1354
+ timeZones: !0,
1355
+ fullscreen: !0,
1356
+ preventPhoneLayout: !0,
1357
+ properties: !0,
1358
+ auto: !0,
1359
+ logarithm: !0,
1360
+ percentage: !0,
1361
+ session: !0,
1362
+ adj: !0
1363
+ },
1364
+ Fe = Object(_.b)();
1365
+
1366
+ class Ue extends i.PureComponent {
1367
+ constructor(e, t) {
1368
+ var n, a;
1369
+ super(e, t), this._timezoneButtonRef = null, this._layout = Object.assign({}, Pe), this._raf = null, this._toolbar = null, this._rangeExpanded = null, this._rangeCollapsed = null, this._seriesComponents = {}, this._injector = (n = () => this._layout, a = (e, t) => this._seriesComponents[t] = e, (e, t, s) => {
1370
+ if (i.isValidElement(e) && "string" != typeof e.type) {
1371
+ const {
1372
+ props: o
1373
+ } = e;
1374
+
1375
+ if ("string" == typeof o.className) {
1376
+ const r = {
1377
+ className: l(o.className, 0 === t && Re.first, t === s.length - 1 && Re.last)
1378
+ },
1379
+ c = n(),
1380
+ h = Object(v.ensureDefined)(Le.get(e.type));
1381
+ return i.createElement("div", {
1382
+ key: null === e.key ? void 0 : e.key,
1383
+ className: l(Re.inline, c[h] && Re.collapsed),
1384
+ ref: e => a(e, h),
1385
+ onClick: () => ze()
1386
+ }, i.cloneElement(e, r));
1387
+ }
1388
+ }
1389
+
1390
+ return e;
1391
+ }), this._handleResize = () => {
1392
+ null === this._raf && (this._raf = requestAnimationFrame(() => {
1393
+ const e = this._layout,
1394
+ t = Object(v.ensureNotNull)(this._toolbar),
1395
+ n = Object(v.ensureNotNull)(this._rangeExpanded),
1396
+ i = (a = function (e) {
1397
+ const t = {};
1398
+ return Object.keys(e).forEach(n => {
1399
+ const i = e[n];
1400
+
1401
+ if (null !== i) {
1402
+ const e = s.findDOMNode(i);
1403
+ null !== e && (t[n] = e);
1404
+ }
1405
+ }), t;
1406
+ }(this._seriesComponents), Object.keys(a).map(e => ({
1407
+ name: e,
1408
+ width: a[e].offsetWidth
1409
+ })).sort((e, t) => De[e.name] - De[t.name]));
1410
+ var a;
1411
+ const o = t.offsetWidth,
1412
+ r = i.reduce((e, t) => e + t.width, 0),
1413
+ l = n.offsetWidth,
1414
+ c = !Boolean(n.textContent) || o - r - l <= 0 ? "collapsed" : "expanded";
1415
+
1416
+ if (Object.assign(e, {
1417
+ dateRangeMode: c
1418
+ }), "expanded" !== c) {
1419
+ const t = o - Object(v.ensureNotNull)(this._rangeCollapsed).offsetWidth - 0;
1420
+ let n = 0,
1421
+ a = 0;
1422
+
1423
+ for (const s of i) n += s.width, s.name in Ie ? (a += s.width, Object.assign(e, {
1424
+ [s.name]: !1
1425
+ })) : Object.assign(e, {
1426
+ [s.name]: t <= n
1427
+ });
1428
+
1429
+ t <= a && Object.assign(e, {
1430
+ dateRangeMode: "hidden"
1431
+ });
1432
+ } else Object.assign(e, {
1433
+ separator: !1,
1434
+ timeZones: !1,
1435
+ fullscreen: !1,
1436
+ preventPhoneLayout: !1,
1437
+ properties: !1,
1438
+ auto: !1,
1439
+ logarithm: !1,
1440
+ percentage: !1,
1441
+ session: !1,
1442
+ adj: !1
1443
+ });
1444
+
1445
+ this._applyResizing(), this._raf = null;
1446
+ }));
1447
+ }, this._handleTimezoneButtonRef = e => {
1448
+ this._timezoneButtonRef = e;
1449
+ }, this._handleMeasure = () => {
1450
+ null !== this._toolbar && this.resizeUI();
1451
+ }, this._handleFullscreenableChange = e => {
1452
+ this._setStateWithResize({
1453
+ isFullscreenable: e
1454
+ });
1455
+ }, this._handlePreventPhoneLayoutButtonVisibility = () => {
1456
+ 0;
1457
+ }, this._handleToolbarRef = e => this._toolbar = e, this._handleRangeCollapsedRef = e => this._rangeCollapsed = e, this._handleRangeExpandedRef = e => this._rangeExpanded = e, this._handleTimeZonesRef = e => {
1458
+ this._seriesComponents.timeZones = e;
1459
+ }, this._handleSessionsRef = e => {
1460
+ this._seriesComponents.session = e;
1461
+ }, this._handleSeparatorRef = e => {
1462
+ this._seriesComponents.separator = e;
1463
+ }, Object(_.c)(t, {
1464
+ onContentBoxChanged: r.any.isRequired,
1465
+ chartApiInstance: r.any.isRequired,
1466
+ chartWidget: r.any.isRequired,
1467
+ chartWidgetCollection: r.any.isRequired,
1468
+ resizerDetacher: r.any.isRequired
1469
+ });
1470
+ const {
1471
+ resizerDetacher: o
1472
+ } = this.context;
1473
+ this.state = {
1474
+ isFullscreenable: o.fullscreenable.value(),
1475
+ isPreventPhoneLayoutButton: this._isPreventPhoneLayoutButton()
1476
+ };
1477
+ }
1478
+
1479
+ componentDidMount() {
1480
+ const {
1481
+ onContentBoxChanged: e,
1482
+ resizerDetacher: t,
1483
+ chartWidgetCollection: n,
1484
+ chartWidget: i
1485
+ } = this.context;
1486
+ e.subscribe(this, this._handleResize), t.fullscreenable.subscribe(this._handleFullscreenableChange), this.updateTimezonesButton(), this.resizeUI();
1487
+ }
1488
+
1489
+ componentWillUnmount() {
1490
+ const {
1491
+ onContentBoxChanged: e,
1492
+ resizerDetacher: t,
1493
+ chartWidgetCollection: n,
1494
+ chartWidget: i
1495
+ } = this.context;
1496
+ e.unsubscribe(this, this._handleResize), t.fullscreenable.unsubscribe(this._handleFullscreenableChange), null !== this._raf && (cancelAnimationFrame(this._raf), this._raf = null);
1497
+ }
1498
+
1499
+ render() {
1500
+ const e = this._layout,
1501
+ {
1502
+ timeFramesWidgetEnabled: t,
1503
+ timeWidgetEnabled: n,
1504
+ percentageScaleButtonEnabled: a,
1505
+ logScaleButtonEnabled: s,
1506
+ autoScaleButtonEnabled: o,
1507
+ fullscreenButtonEnabled: r
1508
+ } = this.props;
1509
+ return i.createElement("div", {
1510
+ className: Re.toolbar,
1511
+ ref: this._handleToolbarRef,
1512
+ onContextMenu: xe.a
1513
+ }, t && i.createElement(Ee.a, null, i.createElement("div", {
1514
+ className: l(Re.dateRangeWrapper, "collapsed" !== e.dateRangeMode && Re.collapsed),
1515
+ ref: this._handleRangeCollapsedRef
1516
+ }, i.createElement("div", {
1517
+ className: l(Re.dateRangeCollapsed)
1518
+ }, i.createElement(L, {
1519
+ goToDateButton: this.props.goToDateEnabled
1520
+ }))), i.createElement(c, {
1521
+ onMeasure: this._handleMeasure
1522
+ }, i.createElement("div", {
1523
+ className: l(Re.dateRangeWrapper, "expanded" !== e.dateRangeMode && Re.collapsed),
1524
+ ref: this._handleRangeExpandedRef
1525
+ }, i.createElement("div", {
1526
+ className: l(Re.dateRangeExpanded)
1527
+ }, i.createElement(X, null), this.props.goToDateEnabled && i.createElement(pe, null), this.props.goToDateEnabled && i.createElement(te, null))))), i.createElement("div", {
1528
+ className: Re.seriesControlWrapper
1529
+ }, n && i.createElement(c, {
1530
+ onMeasure: this._handleMeasure
1531
+ }, i.createElement("div", {
1532
+ className: l(Re.inline, e.timeZones && Re.collapsed),
1533
+ ref: this._handleTimeZonesRef
1534
+ }, i.createElement("div", {
1535
+ className: Re.inline,
1536
+ onClick: this._trackTimezonesButtonClick
1537
+ }, i.createElement(me, {
1538
+ className: Re.timezone,
1539
+ withMenu: this.props.timezoneMenuEnabled,
1540
+ ref: this._handleTimezoneButtonRef
1541
+ })))), !1, i.createElement("div", {
1542
+ ref: this._handleSeparatorRef,
1543
+ className: l(Re.inline, e.separator && Re.collapsed)
1544
+ }, i.createElement(pe, null)), i.createElement(Ee.a, {
1545
+ map: this._injector
1546
+ }, !1, a && !h.enabled("fundamental_widget") && i.createElement(Oe, {
1547
+ className: Re.icon
1548
+ }), s && i.createElement(ke, {
1549
+ className: Re.item
1550
+ }), o && i.createElement(We, {
1551
+ className: Re.item
1552
+ }), r && this.state.isFullscreenable && i.createElement(je, {
1553
+ className: Re.icon,
1554
+ mobileChangeLayoutEnabled: this.props.mobileChangeLayoutEnabled
1555
+ }), !1)));
1556
+ }
1557
+
1558
+ updateTimezonesButton() {
1559
+ null !== this._timezoneButtonRef && this._timezoneButtonRef.updateTimezonesButton();
1560
+ }
1561
+
1562
+ resizeUI() {
1563
+ this._handleResize();
1564
+ }
1565
+
1566
+ _updateButtonsVisibility() {
1567
+ 0;
1568
+ }
1569
+
1570
+ _trackTimezonesButtonClick() {
1571
+ ze();
1572
+ }
1573
+
1574
+ _setStateWithResize(e) {
1575
+ Object.assign(this._layout, Pe), this._applyResizing(), this.setState(e, () => this._handleResize());
1576
+ }
1577
+
1578
+ _applyResizing() {
1579
+ const _this$_layout = this._layout,
1580
+ {
1581
+ dateRangeMode: e
1582
+ } = _this$_layout,
1583
+ t = _objectWithoutProperties(_this$_layout, _excluded3);
1584
+
1585
+ this._rangeExpanded && this._rangeExpanded.classList.toggle(Re.collapsed, "expanded" !== e), this._rangeCollapsed && this._rangeCollapsed.classList.toggle(Re.collapsed, "collapsed" !== e), Object.keys(t).forEach(e => {
1586
+ const n = e,
1587
+ i = this._seriesComponents[n];
1588
+ i && i.classList.toggle(Re.collapsed, t[n]);
1589
+ });
1590
+ }
1591
+
1592
+ _isPreventPhoneLayoutButton() {
1593
+ return !1;
1594
+ }
1595
+
1596
+ }
1597
+
1598
+ Ue.contextType = Fe;
1599
+ const qe = {
1600
+ onContentBoxChanged: r.any,
1601
+ computeContentBox: r.any,
1602
+ chartWidget: r.any,
1603
+ chartApiInstance: r.any,
1604
+ chartWidgetCollection: r.any,
1605
+ resizerDetacher: r.any,
1606
+ availableTimeFrames: r.any
1607
+ };
1608
+
1609
+ class He extends i.PureComponent {
1610
+ constructor(e) {
1611
+ super(e), this._setActiveChart = e => {
1612
+ this._defineRegistry(e), this.setState({
1613
+ chartWidget: e
1614
+ });
1615
+ };
1616
+ const t = this.props.chartWidgetCollection.activeChartWidget.value();
1617
+ this.state = {
1618
+ chartWidget: t
1619
+ }, this._defineRegistry(t);
1620
+ }
1621
+
1622
+ componentDidMount() {
1623
+ this.props.chartWidgetCollection.activeChartWidget.subscribe(this._setActiveChart);
1624
+ }
1625
+
1626
+ componentWillUnmount() {
1627
+ this.props.chartWidgetCollection.activeChartWidget.unsubscribe(this._setActiveChart);
1628
+ }
1629
+
1630
+ render() {
1631
+ const {
1632
+ chartWidget: e
1633
+ } = this.state;
1634
+ if (!e) return null;
1635
+ const {
1636
+ options: t
1637
+ } = this.props,
1638
+ n = {
1639
+ timeFramesWidgetEnabled: t.timeFramesWidgetEnabled,
1640
+ goToDateEnabled: t.timeFramesWidget.goToDateEnabled,
1641
+ timeWidgetEnabled: t.timeWidgetEnabled,
1642
+ timezoneMenuEnabled: t.timeWidget && t.timeWidget.timezoneMenuEnabled,
1643
+ sessionIdButtonEnabled: t.sessionIdButtonEnabled,
1644
+ adjustForDividendsButtonEnabled: t.adjustForDividendsButtonEnabled,
1645
+ logScaleButtonEnabled: t.logScaleButtonEnabled,
1646
+ percentageScaleButtonEnabled: t.percentageScaleButtonEnabled,
1647
+ autoScaleButtonEnabled: t.autoScaleButtonEnabled,
1648
+ fullscreenButtonEnabled: t.fullscreenButtonEnabled,
1649
+ mobileChangeLayoutEnabled: t.mobileChangeLayoutEnabled
1650
+ };
1651
+ return i.createElement(_.a, {
1652
+ validation: qe,
1653
+ value: this._registry
1654
+ }, i.createElement(Ue, _objectSpread({
1655
+ key: e.id()
1656
+ }, n)));
1657
+ }
1658
+
1659
+ _defineRegistry(e) {
1660
+ const {
1661
+ onContentBoxChanged: t,
1662
+ computeContentBox: n,
1663
+ chartApiInstance: i,
1664
+ chartWidgetCollection: a,
1665
+ options: {
1666
+ timeFramesWidgetEnabled: s,
1667
+ timeFramesWidget: o
1668
+ }
1669
+ } = this.props,
1670
+ r = s ? o.availableTimeFrames : void 0;
1671
+ this._registry = {
1672
+ onContentBoxChanged: t,
1673
+ computeContentBox: n,
1674
+ chartWidget: e,
1675
+ availableTimeFrames: r,
1676
+ chartApiInstance: i,
1677
+ chartWidgetCollection: a,
1678
+ resizerDetacher: e.getResizerDetacher()
1679
+ };
1680
+ }
1681
+
1682
+ }
1683
+
1684
+ n.d(t, "BottomToolbarRenderer", function () {
1685
+ return Ke;
1686
+ });
1687
+
1688
+ class Ke {
1689
+ constructor(e, t, n, a, o, r, l) {
1690
+ this._container = e;
1691
+ const c = i.createElement(He, {
1692
+ onContentBoxChanged: t,
1693
+ computeContentBox: n,
1694
+ chartWidgetCollection: a,
1695
+ chartApiInstance: o,
1696
+ chartWidgetOptions: r,
1697
+ options: l
1698
+ });
1699
+ s.render(c, e), e.setAttribute("data-initialized", "true");
1700
+ }
1701
+
1702
+ destroy() {
1703
+ s.unmountComponentAtNode(this._container), this._container.removeAttribute("data-initialized");
1704
+ }
1705
+
1706
+ }
1707
+ },
1708
+ N5tr: function N5tr(e, t, n) {
1709
+ "use strict";
1710
+
1711
+ n.d(t, "a", function () {
1712
+ return h;
1713
+ }), n.d(t, "b", function () {
1714
+ return m;
1715
+ });
1716
+ var i = n("q1tI"),
1717
+ a = n.n(i),
1718
+ s = n("TSYQ"),
1719
+ o = n("tWVy"),
1720
+ r = n("JWMC"),
1721
+ l = n("ijHL"),
1722
+ c = n("v1bN");
1723
+ const h = c;
1724
+
1725
+ function d(e) {
1726
+ const {
1727
+ reference: t
1728
+ } = e,
1729
+ n = _objectWithoutProperties(e, _excluded4),
1730
+ i = _objectSpread(_objectSpread({}, n), {}, {
1731
+ ref: t
1732
+ });
1733
+
1734
+ return a.a.createElement(e.href ? "a" : "div", i);
1735
+ }
1736
+
1737
+ function u(e) {
1738
+ e.stopPropagation();
1739
+ }
1740
+
1741
+ function m(e) {
1742
+ const {
1743
+ id: t,
1744
+ role: n,
1745
+ "aria-selected": h,
1746
+ className: m,
1747
+ title: g,
1748
+ labelRowClassName: p,
1749
+ labelClassName: b,
1750
+ shortcut: v,
1751
+ forceShowShortcuts: f,
1752
+ icon: _,
1753
+ isActive: C,
1754
+ isDisabled: S,
1755
+ isHovered: y,
1756
+ appearAsDisabled: E,
1757
+ label: x,
1758
+ link: w,
1759
+ showToolboxOnHover: N,
1760
+ target: R,
1761
+ rel: T,
1762
+ toolbox: k,
1763
+ reference: M,
1764
+ onMouseOut: A,
1765
+ onMouseOver: W,
1766
+ suppressToolboxClick: O = !0,
1767
+ theme: B = c
1768
+ } = e,
1769
+ j = Object(l.b)(e),
1770
+ I = Object(i.useRef)(null);
1771
+ return a.a.createElement(d, _objectSpread(_objectSpread({}, j), {}, {
1772
+ id: t,
1773
+ role: n,
1774
+ "aria-selected": h,
1775
+ className: s(m, B.item, _ && B.withIcon, {
1776
+ [B.isActive]: C,
1777
+ [B.isDisabled]: S || E,
1778
+ [B.hovered]: y
1779
+ }),
1780
+ title: g,
1781
+ href: w,
1782
+ target: R,
1783
+ rel: T,
1784
+ reference: function reference(e) {
1785
+ I.current = e, "function" == typeof M && M(e);
1786
+ "object" == typeof M && (M.current = e);
1787
+ },
1788
+ onClick: function onClick(t) {
1789
+ const {
1790
+ dontClosePopup: n,
1791
+ onClick: i,
1792
+ onClickArg: a,
1793
+ trackEventObject: s
1794
+ } = e;
1795
+ if (S) return;
1796
+ s && Object(r.trackEvent)(s.category, s.event, s.label);
1797
+ i && i(a, t);
1798
+ n || Object(o.b)();
1799
+ },
1800
+ onContextMenu: function onContextMenu(t) {
1801
+ const {
1802
+ trackEventObject: n,
1803
+ trackRightClick: i
1804
+ } = e;
1805
+ n && i && Object(r.trackEvent)(n.category, n.event, n.label + "_rightClick");
1806
+ },
1807
+ onMouseUp: function onMouseUp(t) {
1808
+ const {
1809
+ trackEventObject: n,
1810
+ trackMouseWheelClick: i
1811
+ } = e;
1812
+
1813
+ if (1 === t.button && w && n) {
1814
+ let e = n.label;
1815
+ i && (e += "_mouseWheelClick"), Object(r.trackEvent)(n.category, n.event, e);
1816
+ }
1817
+ },
1818
+ onMouseOver: W,
1819
+ onMouseOut: A
1820
+ }), void 0 !== _ && a.a.createElement("div", {
1821
+ className: B.icon,
1822
+ dangerouslySetInnerHTML: {
1823
+ __html: _
1824
+ }
1825
+ }), a.a.createElement("div", {
1826
+ className: s(B.labelRow, p)
1827
+ }, a.a.createElement("div", {
1828
+ className: s(B.label, b)
1829
+ }, x)), (void 0 !== v || f) && a.a.createElement("div", {
1830
+ className: B.shortcut
1831
+ }, (D = v) && D.split("+").join(" + ")), void 0 !== k && a.a.createElement("div", {
1832
+ onClick: O ? u : void 0,
1833
+ className: s(B.toolbox, {
1834
+ [B.showOnHover]: N
1835
+ })
1836
+ }, k));
1837
+ var D;
1838
+ }
1839
+ },
1840
+ NOPy: function NOPy(e, t, n) {
1841
+ e.exports = {
1842
+ separator: "separator-eqcGT_ow",
1843
+ small: "small-eqcGT_ow",
1844
+ normal: "normal-eqcGT_ow",
1845
+ large: "large-eqcGT_ow"
1846
+ };
1847
+ },
1848
+ O7m7: function O7m7(e, t, n) {},
1849
+ "PP+v": function PPV(e, t, n) {
1850
+ e.exports = {
1851
+ toolbar: "toolbar-2yU8ifXU",
1852
+ dateRangeWrapper: "dateRangeWrapper-2yU8ifXU",
1853
+ seriesControlWrapper: "seriesControlWrapper-2yU8ifXU",
1854
+ dateRangeExpanded: "dateRangeExpanded-2yU8ifXU",
1855
+ dateRangeCollapsed: "dateRangeCollapsed-2yU8ifXU",
1856
+ item: "item-2yU8ifXU",
1857
+ first: "first-2yU8ifXU",
1858
+ last: "last-2yU8ifXU",
1859
+ inline: "inline-2yU8ifXU",
1860
+ timezone: "timezone-2yU8ifXU",
1861
+ session: "session-2yU8ifXU",
1862
+ icon: "icon-2yU8ifXU",
1863
+ hidden: "hidden-2yU8ifXU",
1864
+ collapsed: "collapsed-2yU8ifXU"
1865
+ };
1866
+ },
1867
+ RZ2Z: function RZ2Z(e, t, n) {
1868
+ e.exports = {
1869
+ slider: "slider-3GYrNsPp",
1870
+ inner: "inner-3GYrNsPp"
1871
+ };
1872
+ },
1873
+ "T4/F": function T4F(e, t) {
1874
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14"><g fill="none" stroke="currentColor"><circle cx="3.5" cy="3.5" r="2"/><circle cx="10.5" cy="10.5" r="2"/><path stroke-linecap="square" d="M9.5 1.5l-5 11"/></g></svg>';
1875
+ },
1876
+ URQ3: function URQ3(e, t, n) {
1877
+ e.exports = {
1878
+ button: "button-2pZNJ24z",
1879
+ hover: "hover-2pZNJ24z",
1880
+ inner: "inner-2pZNJ24z"
1881
+ };
1882
+ },
1883
+ "W9Y+": function W9Y(e, t, n) {
1884
+ e.exports = {
1885
+ item: "item-3SbREAgE",
1886
+ hover: "hover-3SbREAgE",
1887
+ isActive: "isActive-3SbREAgE",
1888
+ isFirst: "isFirst-3SbREAgE",
1889
+ isLast: "isLast-3SbREAgE"
1890
+ };
1891
+ },
1892
+ XXQ5: function XXQ5(e, t, n) {
1893
+ e.exports = {
1894
+ item: "item-1-SF84yU",
1895
+ emptyIcons: "emptyIcons-1-SF84yU",
1896
+ loading: "loading-1-SF84yU",
1897
+ disabled: "disabled-1-SF84yU",
1898
+ interactive: "interactive-1-SF84yU",
1899
+ hovered: "hovered-1-SF84yU",
1900
+ icon: "icon-1-SF84yU",
1901
+ label: "label-1-SF84yU",
1902
+ fullWidth: "fullWidth-1-SF84yU",
1903
+ title: "title-1-SF84yU",
1904
+ nested: "nested-1-SF84yU",
1905
+ shortcut: "shortcut-1-SF84yU",
1906
+ remove: "remove-1-SF84yU"
1907
+ };
1908
+ },
1909
+ XiJV: function XiJV(e, t, n) {
1910
+ e.exports = {
1911
+ separator: "separator-3No0pWrk"
1912
+ };
1913
+ },
1914
+ Xy1d: function Xy1d(e, t) {
1915
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M7 15l5 5L23 9"/></svg>';
1916
+ },
1917
+ Xzy5: function Xzy5(e, t) {
1918
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 5l3.5 3.5L8 12"/></svg>';
1919
+ },
1920
+ YZ9j: function YZ9j(e) {
1921
+ e.exports = JSON.parse('{"loader":"loader-8x1ZxRwP","item":"item-2-89r_cd","tv-button-loader":"tv-button-loader-23vqS1uY","black":"black-20Ytsf0V","white":"white-1ucCcc2I","gray":"gray-XDhHSS-T","loader-initial":"loader-initial-1deQDeio","loader-appear":"loader-appear-2krFtMrd"}');
1922
+ },
1923
+ c7H2: function c7H2(e, t, n) {
1924
+ e.exports = {
1925
+ button: "button-yLOygoSG",
1926
+ hover: "hover-yLOygoSG",
1927
+ icon: "icon-yLOygoSG"
1928
+ };
1929
+ },
1930
+ l4ku: function l4ku(e, t, n) {
1931
+ "use strict";
1932
+
1933
+ n.d(t, "a", function () {
1934
+ return g;
1935
+ });
1936
+ var i = n("q1tI"),
1937
+ a = n.n(i),
1938
+ s = n("TSYQ"),
1939
+ o = n("Iivm"),
1940
+ r = n("6KyJ"),
1941
+ l = n("J+f8"),
1942
+ c = n("w+Rv"),
1943
+ h = n("Xy1d"),
1944
+ d = n("Xzy5"),
1945
+ u = n("20PO"),
1946
+ m = n("XXQ5");
1947
+
1948
+ function g(e) {
1949
+ const {
1950
+ isTitle: t,
1951
+ isLoading: n,
1952
+ isHovered: g,
1953
+ active: p,
1954
+ checkable: b,
1955
+ disabled: v,
1956
+ checked: f,
1957
+ icon: _,
1958
+ iconChecked: C,
1959
+ hint: S,
1960
+ subItems: y,
1961
+ label: E,
1962
+ onClick: x,
1963
+ children: w,
1964
+ toolbox: N,
1965
+ fullWidthLabel: R
1966
+ } = e,
1967
+ T = Object(i.useContext)(l.a),
1968
+ k = !!y.length;
1969
+ return n ? a.a.createElement("li", {
1970
+ className: s(m.item, m.loading)
1971
+ }, a.a.createElement(r.a, {
1972
+ color: "gray"
1973
+ })) : a.a.createElement("li", {
1974
+ className: s(m.item, m.interactive, t && m.title, v && m.disabled, g && m.hovered, p && m.active, T && m.emptyIcons),
1975
+ onClick: x
1976
+ }, a.a.createElement(o.a, {
1977
+ className: s(m.icon),
1978
+ icon: function () {
1979
+ if (b && f) return C || _ || h;
1980
+ return _;
1981
+ }()
1982
+ }), a.a.createElement("span", {
1983
+ className: s(m.label, R && m.fullWidth)
1984
+ }, E), !!N && a.a.createElement(o.a, {
1985
+ onClick: function onClick() {
1986
+ N && N.action();
1987
+ },
1988
+ className: m.remove,
1989
+ icon: u
1990
+ }), !k && S && a.a.createElement(c.a, {
1991
+ className: m.shortcut,
1992
+ text: S
1993
+ }), k && a.a.createElement(o.a, {
1994
+ className: m.nested,
1995
+ icon: d
1996
+ }), w);
1997
+ }
1998
+ },
1999
+ nPPD: function nPPD(e, t, n) {
2000
+ "use strict";
2001
+
2002
+ function i(e, t) {
2003
+ let n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2004
+ const i = Object.assign({}, t);
2005
+
2006
+ for (const a of Object.keys(t)) {
2007
+ const s = n[a] || a;
2008
+ s in e && (i[a] = [e[s], t[a]].join(" "));
2009
+ }
2010
+
2011
+ return i;
2012
+ }
2013
+
2014
+ function a(e, t) {
2015
+ let n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2016
+ return Object.assign({}, e, i(e, t, n));
2017
+ }
2018
+
2019
+ n.d(t, "b", function () {
2020
+ return i;
2021
+ }), n.d(t, "a", function () {
2022
+ return a;
2023
+ });
2024
+ },
2025
+ qSb5: function qSb5(e, t, n) {
2026
+ e.exports = {
2027
+ sliderRow: "sliderRow-1emAA4_D"
2028
+ };
2029
+ },
2030
+ ul7r: function ul7r(e, t) {
2031
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M1.5 8V6.5m7.5 9h5.5a2 2 0 0 0 2-2v-7m-15 0v-2c0-1.1.9-2 2-2h11a2 2 0 0 1 2 2v2m-15 0h15"/><path fill="currentColor" d="M5 1h1v3H5V1zM12 1h1v3h-1V1z"/><path stroke="currentColor" d="M0 12.5h7.5m0 0L4 16m3.5-3.5L4 9"/></svg>';
2032
+ },
2033
+ v1bN: function v1bN(e, t, n) {
2034
+ e.exports = {
2035
+ "tablet-small-breakpoint": "screen and (max-width: 428px)",
2036
+ item: "item-2IihgTnv",
2037
+ hovered: "hovered-2IihgTnv",
2038
+ isDisabled: "isDisabled-2IihgTnv",
2039
+ isActive: "isActive-2IihgTnv",
2040
+ shortcut: "shortcut-2IihgTnv",
2041
+ toolbox: "toolbox-2IihgTnv",
2042
+ withIcon: "withIcon-2IihgTnv",
2043
+ icon: "icon-2IihgTnv",
2044
+ labelRow: "labelRow-2IihgTnv",
2045
+ label: "label-2IihgTnv",
2046
+ showOnHover: "showOnHover-2IihgTnv"
2047
+ };
2048
+ },
2049
+ "w+Rv": function wRv(e, t, n) {
2050
+ "use strict";
2051
+
2052
+ n.d(t, "a", function () {
2053
+ return r;
2054
+ });
2055
+ var i = n("q1tI"),
2056
+ a = n("TSYQ"),
2057
+ s = n.n(a),
2058
+ o = n("ycgn");
2059
+
2060
+ function r(e) {
2061
+ const {
2062
+ text: t = "",
2063
+ className: n
2064
+ } = e;
2065
+ return i.createElement("span", {
2066
+ className: s()(o.shortcut, n)
2067
+ }, t);
2068
+ }
2069
+ },
2070
+ "x0D+": function x0D(e, t, n) {
2071
+ var i, a, s;
2072
+ a = [t], void 0 === (s = "function" == typeof (i = function i(e) {
2073
+ "use strict";
2074
+
2075
+ function t(e) {
2076
+ if (Array.isArray(e)) {
2077
+ for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
2078
+
2079
+ return n;
2080
+ }
2081
+
2082
+ return Array.from(e);
2083
+ }
2084
+
2085
+ Object.defineProperty(e, "__esModule", {
2086
+ value: !0
2087
+ });
2088
+ var n = !1;
2089
+
2090
+ if ("undefined" != typeof window) {
2091
+ var i = {
2092
+ get passive() {
2093
+ n = !0;
2094
+ }
2095
+
2096
+ };
2097
+ window.addEventListener("testPassive", null, i), window.removeEventListener("testPassive", null, i);
2098
+ }
2099
+
2100
+ var a = "undefined" != typeof window && window.navigator && window.navigator.platform && /iP(ad|hone|od)/.test(window.navigator.platform),
2101
+ s = [],
2102
+ o = !1,
2103
+ r = -1,
2104
+ l = void 0,
2105
+ c = void 0,
2106
+ h = function h(e) {
2107
+ return s.some(function (t) {
2108
+ return !(!t.options.allowTouchMove || !t.options.allowTouchMove(e));
2109
+ });
2110
+ },
2111
+ d = function d(e) {
2112
+ var t = e || window.event;
2113
+ return !!h(t.target) || 1 < t.touches.length || (t.preventDefault && t.preventDefault(), !1);
2114
+ },
2115
+ u = function u() {
2116
+ setTimeout(function () {
2117
+ void 0 !== c && (document.body.style.paddingRight = c, c = void 0), void 0 !== l && (document.body.style.overflow = l, l = void 0);
2118
+ });
2119
+ };
2120
+
2121
+ e.disableBodyScroll = function (e, i) {
2122
+ if (a) {
2123
+ if (!e) return void console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");
2124
+
2125
+ if (e && !s.some(function (t) {
2126
+ return t.targetElement === e;
2127
+ })) {
2128
+ var u = {
2129
+ targetElement: e,
2130
+ options: i || {}
2131
+ };
2132
+ s = [].concat(t(s), [u]), e.ontouchstart = function (e) {
2133
+ 1 === e.targetTouches.length && (r = e.targetTouches[0].clientY);
2134
+ }, e.ontouchmove = function (t) {
2135
+ var n, i, a, s;
2136
+ 1 === t.targetTouches.length && (i = e, s = (n = t).targetTouches[0].clientY - r, !h(n.target) && (i && 0 === i.scrollTop && 0 < s || (a = i) && a.scrollHeight - a.scrollTop <= a.clientHeight && s < 0 ? d(n) : n.stopPropagation()));
2137
+ }, o || (document.addEventListener("touchmove", d, n ? {
2138
+ passive: !1
2139
+ } : void 0), o = !0);
2140
+ }
2141
+ } else {
2142
+ g = i, setTimeout(function () {
2143
+ if (void 0 === c) {
2144
+ var e = !!g && !0 === g.reserveScrollBarGap,
2145
+ t = window.innerWidth - document.documentElement.clientWidth;
2146
+ e && 0 < t && (c = document.body.style.paddingRight, document.body.style.paddingRight = t + "px");
2147
+ }
2148
+
2149
+ void 0 === l && (l = document.body.style.overflow, document.body.style.overflow = "hidden");
2150
+ });
2151
+ var m = {
2152
+ targetElement: e,
2153
+ options: i || {}
2154
+ };
2155
+ s = [].concat(t(s), [m]);
2156
+ }
2157
+
2158
+ var g;
2159
+ }, e.clearAllBodyScrollLocks = function () {
2160
+ a ? (s.forEach(function (e) {
2161
+ e.targetElement.ontouchstart = null, e.targetElement.ontouchmove = null;
2162
+ }), o && (document.removeEventListener("touchmove", d, n ? {
2163
+ passive: !1
2164
+ } : void 0), o = !1), s = [], r = -1) : (u(), s = []);
2165
+ }, e.enableBodyScroll = function (e) {
2166
+ if (a) {
2167
+ if (!e) return void console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");
2168
+ e.ontouchstart = null, e.ontouchmove = null, s = s.filter(function (t) {
2169
+ return t.targetElement !== e;
2170
+ }), o && 0 === s.length && (document.removeEventListener("touchmove", d, n ? {
2171
+ passive: !1
2172
+ } : void 0), o = !1);
2173
+ } else 1 === s.length && s[0].targetElement === e ? (u(), s = []) : s = s.filter(function (t) {
2174
+ return t.targetElement !== e;
2175
+ });
2176
+ };
2177
+ }) ? i.apply(t, a) : i) || (e.exports = s);
2178
+ },
2179
+ ycgn: function ycgn(e, t, n) {
2180
+ e.exports = {
2181
+ item: "item-f5BaKrKq",
2182
+ interactive: "interactive-f5BaKrKq",
2183
+ hovered: "hovered-f5BaKrKq",
2184
+ disabled: "disabled-f5BaKrKq",
2185
+ active: "active-f5BaKrKq",
2186
+ shortcut: "shortcut-f5BaKrKq",
2187
+ iconCell: "iconCell-f5BaKrKq",
2188
+ icon: "icon-f5BaKrKq",
2189
+ checkmark: "checkmark-f5BaKrKq",
2190
+ content: "content-f5BaKrKq",
2191
+ label: "label-f5BaKrKq",
2192
+ checked: "checked-f5BaKrKq",
2193
+ toolbox: "toolbox-f5BaKrKq",
2194
+ showToolboxOnHover: "showToolboxOnHover-f5BaKrKq",
2195
+ arrowIcon: "arrowIcon-f5BaKrKq",
2196
+ subMenu: "subMenu-f5BaKrKq",
2197
+ invisibleHotkey: "invisibleHotkey-f5BaKrKq"
2198
+ };
2199
+ },
2200
+ z6ID: function z6ID(e, t, n) {
2201
+ e.exports = {
2202
+ separator: "separator-13-1nlsQ"
2203
+ };
2204
+ }
2205
+ }]);