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,2953 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.includes.js");
4
+
5
+ require("core-js/modules/es.string.includes.js");
6
+
7
+ require("core-js/modules/es.array.reduce.js");
8
+
9
+ require("core-js/modules/es.regexp.to-string.js");
10
+
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+
13
+ require("core-js/modules/es.array.sort.js");
14
+
15
+ require("core-js/modules/es.string.starts-with.js");
16
+
17
+ require("core-js/modules/es.string.trim.js");
18
+
19
+ require("core-js/modules/es.symbol.description.js");
20
+
21
+ const _excluded = ["reference", "size", "intent"],
22
+ _excluded2 = ["lineStyle"],
23
+ _excluded3 = ["fontSize"];
24
+
25
+ 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; }
26
+
27
+ 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; }
28
+
29
+ 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; }
30
+
31
+ 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; }
32
+
33
+ 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; }
34
+
35
+ (window.webpackJsonp = window.webpackJsonp || []).push([["new-edit-object-dialog"], {
36
+ "/YRR": function YRR(e, t) {
37
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M5.5 16.5l5-5a1.414 1.414 0 0 1 2 0m11-1l-5 5a1.414 1.414 0 0 1-2 0"/><path fill="currentColor" d="M14 5h1v2h-1zM14 10h1v2h-1zM14 15h1v2h-1zM14 20h1v2h-1z"/></svg>';
38
+ },
39
+ "01Ho": function Ho(e, t) {
40
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M14.354 6.646L14 6.293l-.354.353-7 7-.353.354.353.354 7 7 .354.353.354-.353 7-7 .353-.354-.353-.354-7-7z"/></svg>';
41
+ },
42
+ "1yQO": function yQO(e, t, n) {
43
+ "use strict";
44
+
45
+ n.d(t, "a", function () {
46
+ return r;
47
+ });
48
+ var l = n("hY0g"),
49
+ a = n.n(l);
50
+
51
+ function r(e, t, n) {
52
+ let l = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
53
+ const r = {
54
+ id: t,
55
+ title: n,
56
+ definitions: new a.a(e)
57
+ };
58
+ return null !== l && (r.icon = l), r;
59
+ }
60
+ },
61
+ "4Njr": function Njr(e, t) {
62
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M14 21l7.424-6.114a.5.5 0 0 0-.318-.886H18.5V7h-9v7H6.894a.5.5 0 0 0-.318.886L14 21z"/></svg>';
63
+ },
64
+ "4ZyK": function ZyK(e, t) {
65
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M8.5 22v-5.5m0 0v-8L12 7l4 2.5 3.5-1v8l-3.5 1-4-2.5-3.5 1.5z"/></svg>';
66
+ },
67
+ "4pMH": function pMH(e, t, n) {},
68
+ "5ijr": function ijr(e) {
69
+ e.exports = JSON.parse('{"switcherWrapper":"switcherWrapper-1wFH-_jm","size-small":"size-small-1gT-kZYO","size-large":"size-large-MOSirnj_","intent-select":"intent-select-2kut8F29","switcherThumbWrapper":"switcherThumbWrapper-2u191lDO","input":"input-J7QIcTTo","switcherTrack":"switcherTrack-2XruDVTa","intent-default":"intent-default-3soo5rvS","switcherThumb":"switcherThumb-2yuEucci","focus":"focus-uZMRkCO0"}');
70
+ },
71
+ "9FXF": function FXF(e, t) {
72
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M6.5 12.5v8h3v-8h-3zM12.5 7.5v13h3v-13h-3zM18.5 15.5v5h3v-5h-3z"/></svg>';
73
+ },
74
+ D2im: function D2im(e, t) {
75
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path stroke="currentColor" d="M17 8.5h7M20.5 12V5M10 19.5h7M13.5 23v-7M3 12.5h7M6.5 16V9"/></svg>';
76
+ },
77
+ Dj0x: function Dj0x(e, t) {
78
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M11 18.5h-.5V8.793l.146-.147 3-3L14 5.293l.354.353 3 3 .146.147V18.5H11z"/></svg>';
79
+ },
80
+ KKsp: function KKsp(e, t, n) {
81
+ "use strict";
82
+
83
+ n.d(t, "a", function () {
84
+ return i;
85
+ });
86
+ var l = n("q1tI"),
87
+ a = n("TSYQ"),
88
+ r = n.n(a),
89
+ s = n("NOPy");
90
+
91
+ function i(e) {
92
+ const {
93
+ size: t = "normal",
94
+ className: n
95
+ } = e;
96
+ return l.createElement("div", {
97
+ className: r()(s.separator, "small" === t && s.small, "normal" === t && s.normal, "large" === t && s.large, n)
98
+ });
99
+ }
100
+ },
101
+ Ly1u: function Ly1u(e, t) {
102
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M7.5 7.5h13v13h-13z"/></svg>';
103
+ },
104
+ MB0Y: function MB0Y(e, t, n) {
105
+ "use strict";
106
+
107
+ var l = n("q1tI"),
108
+ a = n.n(l),
109
+ r = n("TSYQ"),
110
+ s = n.n(r),
111
+ i = n("5ijr");
112
+ n("4pMH");
113
+
114
+ function o(e) {
115
+ const {
116
+ className: t = "",
117
+ intent: n = "default",
118
+ size: l = "small",
119
+ disabled: a
120
+ } = e;
121
+ return r(t, i.switcherWrapper, i["size-" + l], !a && i["intent-" + n]);
122
+ }
123
+
124
+ class c extends l.PureComponent {
125
+ render() {
126
+ const _this$props = this.props,
127
+ {
128
+ reference: e,
129
+ size: t,
130
+ intent: n
131
+ } = _this$props,
132
+ a = _objectWithoutProperties(_this$props, _excluded),
133
+ s = r(i.input, -1 !== this.props.tabIndex && i.focus);
134
+
135
+ return l.createElement("div", {
136
+ className: o(this.props)
137
+ }, l.createElement("input", _objectSpread(_objectSpread({}, a), {}, {
138
+ type: "checkbox",
139
+ className: s,
140
+ ref: e
141
+ })), l.createElement("div", {
142
+ className: i.switcherThumbWrapper
143
+ }, l.createElement("div", {
144
+ className: i.switcherTrack
145
+ }), l.createElement("div", {
146
+ className: i.switcherThumb
147
+ })));
148
+ }
149
+
150
+ }
151
+
152
+ var p = n("ijHL"),
153
+ d = n("OP2o");
154
+ n.d(t, "a", function () {
155
+ return h;
156
+ }), n.d(t, "b", function () {
157
+ return u;
158
+ });
159
+ const h = d;
160
+
161
+ function u(e) {
162
+ const {
163
+ className: t,
164
+ checked: n,
165
+ id: l,
166
+ label: r,
167
+ labelDescription: i,
168
+ value: o,
169
+ preventLabelHighlight: h,
170
+ reference: u,
171
+ switchReference: m,
172
+ theme: b = d,
173
+ disabled: w
174
+ } = e,
175
+ g = s()(b.label, n && !h && b.labelOn),
176
+ v = s()(t, b.wrapper, n && b.wrapperWithOnLabel);
177
+ return a.a.createElement("label", {
178
+ className: v,
179
+ htmlFor: l,
180
+ ref: u
181
+ }, a.a.createElement("div", {
182
+ className: b.labelRow
183
+ }, a.a.createElement("div", {
184
+ className: g
185
+ }, r), i && a.a.createElement("div", {
186
+ className: b.labelHint
187
+ }, i)), a.a.createElement(c, _objectSpread({
188
+ disabled: w,
189
+ className: b.switch,
190
+ reference: m,
191
+ checked: n,
192
+ onChange: function onChange(t) {
193
+ const n = t.target.checked;
194
+ void 0 !== e.onChange && e.onChange(n);
195
+ },
196
+ value: o,
197
+ tabIndex: -1,
198
+ id: l
199
+ }, Object(p.b)(e))));
200
+ }
201
+ },
202
+ NOPy: function NOPy(e, t, n) {
203
+ e.exports = {
204
+ separator: "separator-eqcGT_ow",
205
+ small: "small-eqcGT_ow",
206
+ normal: "normal-eqcGT_ow",
207
+ large: "large-eqcGT_ow"
208
+ };
209
+ },
210
+ OP2o: function OP2o(e, t, n) {
211
+ e.exports = {
212
+ wrapper: "wrapper-1Eudat6L",
213
+ hovered: "hovered-1Eudat6L",
214
+ labelRow: "labelRow-1Eudat6L",
215
+ label: "label-1Eudat6L",
216
+ labelHint: "labelHint-1Eudat6L",
217
+ labelOn: "labelOn-1Eudat6L"
218
+ };
219
+ },
220
+ V1YL: function V1YL(e, t, n) {
221
+ e.exports = {
222
+ recalculateCheckbox: "recalculateCheckbox-2z5ytJSA",
223
+ descriptionCell: "descriptionCell-2z5ytJSA"
224
+ };
225
+ },
226
+ W7Dn: function W7Dn(e, t, n) {
227
+ e.exports = {
228
+ scrollable: "scrollable-2CTvqFKf"
229
+ };
230
+ },
231
+ Y5hB: function Y5hB(e, t, n) {
232
+ "use strict";
233
+
234
+ n.r(t);
235
+ var l = n("YFKU"),
236
+ a = n("i8i4"),
237
+ r = n("q1tI"),
238
+ s = n.n(r),
239
+ i = n("Eyy1"),
240
+ o = (n("bSeV"), n("CLNU")),
241
+ c = n("Vdly"),
242
+ p = n("Kxc7"),
243
+ d = n("FQhm"),
244
+ h = n("JWMC"),
245
+ u = n("aDg1"),
246
+ m = n("vHME"),
247
+ b = n("ycFu"),
248
+ w = n("tWVy"),
249
+ g = n("tmL0"),
250
+ v = n("3ClC"),
251
+ y = n("LWBq"),
252
+ C = n("CW80"),
253
+ f = n("pLAj"),
254
+ E = n("W7Dn");
255
+
256
+ class S extends r.PureComponent {
257
+ constructor(e) {
258
+ super(e), this._renderFooterLeft = e => {
259
+ const {
260
+ source: t,
261
+ model: n
262
+ } = this.props;
263
+ if (Object(C.isLineTool)(t)) return r.createElement(f.a, {
264
+ source: t,
265
+ model: n
266
+ });
267
+ if (Object(v.isStudy)(t)) return r.createElement(m.a, {
268
+ model: n,
269
+ source: t,
270
+ mode: e ? "compact" : "normal"
271
+ });
272
+ throw new TypeError("Unsupported source type.");
273
+ }, this._handleSelect = e => {
274
+ this.setState({
275
+ activeTabId: e
276
+ }, () => {
277
+ this._requestResize && this._requestResize();
278
+ }), this.props.onActiveTabChanged && this.props.onActiveTabChanged(e);
279
+ }, this._handleScroll = () => {
280
+ w.a.fire();
281
+ }, this._handleSubmit = () => {
282
+ this.props.onSubmit(), this.props.onClose();
283
+ };
284
+ const {
285
+ pages: t,
286
+ initialActiveTab: n
287
+ } = this.props;
288
+ this.state = {
289
+ activeTabId: t.allIds.includes(n) ? n : t.allIds[0]
290
+ };
291
+ }
292
+
293
+ render() {
294
+ const {
295
+ title: e,
296
+ onCancel: t,
297
+ onClose: n
298
+ } = this.props,
299
+ {
300
+ activeTabId: l
301
+ } = this.state;
302
+ return r.createElement(b.a, {
303
+ dataName: "indicator-properties-dialog",
304
+ title: e,
305
+ isOpened: !0,
306
+ onSubmit: this._handleSubmit,
307
+ onCancel: t,
308
+ onClickOutside: n,
309
+ onClose: n,
310
+ footerLeftRenderer: this._renderFooterLeft,
311
+ render: this._renderChildren(l),
312
+ submitOnEnterKey: !1
313
+ });
314
+ }
315
+
316
+ _renderChildren(e) {
317
+ return _ref => {
318
+ let {
319
+ requestResize: t
320
+ } = _ref;
321
+ this._requestResize = t;
322
+ const {
323
+ pages: n,
324
+ source: l,
325
+ model: a
326
+ } = this.props,
327
+ s = n.byId[e],
328
+ i = "Component" in s ? void 0 : s.page;
329
+ return r.createElement(r.Fragment, null, r.createElement(u.a, {
330
+ activeTabId: e,
331
+ onSelect: this._handleSelect,
332
+ tabs: n
333
+ }), r.createElement(g.a, {
334
+ className: E.scrollable,
335
+ onScroll: this._handleScroll
336
+ }, "Component" in s ? r.createElement(s.Component, {
337
+ source: l,
338
+ model: a
339
+ }) : r.createElement(y.a, {
340
+ page: i,
341
+ tableKey: e
342
+ })));
343
+ };
344
+ }
345
+
346
+ }
347
+
348
+ var P = n("PjdP"),
349
+ _ = n("HfwS"),
350
+ x = n("HGyE");
351
+
352
+ class O extends r.PureComponent {
353
+ render() {
354
+ const {
355
+ input: e,
356
+ value: t,
357
+ onChange: n,
358
+ onBlur: l,
359
+ onKeyDown: a
360
+ } = this.props,
361
+ s = e.options.reduce((e, t) => (e[t] = "NONE" === t ? window.t("Default") : t, e), {}),
362
+ i = _objectSpread(_objectSpread({}, e), {}, {
363
+ optionsTitles: s
364
+ });
365
+
366
+ return r.createElement(x.b, {
367
+ input: i,
368
+ value: t,
369
+ onChange: n,
370
+ onBlur: l,
371
+ onKeyDown: a
372
+ });
373
+ }
374
+
375
+ }
376
+
377
+ const k = Object(_.a)(O);
378
+ var j = n("h5Dg"),
379
+ T = n("rJEJ"),
380
+ L = n("XDrA"),
381
+ N = n("+8gn"),
382
+ V = n("Q+1u");
383
+ n("HbRj");
384
+ const I = r.createContext(null),
385
+ M = window.t("{currency} per order"),
386
+ R = window.t("{currency} per contract");
387
+
388
+ class B extends r.PureComponent {
389
+ render() {
390
+ const {
391
+ input: e
392
+ } = this.props,
393
+ t = Object(i.ensureNotNull)(this.context),
394
+ n = _objectSpread(_objectSpread({}, e), {}, {
395
+ optionsTitles: {
396
+ percent: "%",
397
+ cash_per_order: M.format({
398
+ currency: t
399
+ }),
400
+ cash_per_contract: R.format({
401
+ currency: t
402
+ })
403
+ }
404
+ });
405
+
406
+ return r.createElement(x.a, {
407
+ input: n
408
+ });
409
+ }
410
+
411
+ }
412
+
413
+ B.contextType = I;
414
+ const D = window.t("Contracts"),
415
+ F = window.t("% of equity");
416
+
417
+ class z extends r.PureComponent {
418
+ render() {
419
+ const {
420
+ input: e
421
+ } = this.props,
422
+ t = Object(i.ensureNotNull)(this.context),
423
+ n = _objectSpread(_objectSpread({}, e), {}, {
424
+ optionsTitles: {
425
+ fixed: D,
426
+ cash_per_order: t,
427
+ percent_of_equity: F
428
+ }
429
+ });
430
+
431
+ return r.createElement(x.a, {
432
+ input: n
433
+ });
434
+ }
435
+
436
+ }
437
+
438
+ z.contextType = I;
439
+ var H = n("+GxX"),
440
+ W = n("V1YL");
441
+
442
+ class G extends r.PureComponent {
443
+ render() {
444
+ const {
445
+ inputs: e
446
+ } = this.props;
447
+ return r.createElement(V.a, null, r.createElement(T.a, {
448
+ label: window.t("Initial capital")
449
+ }, r.createElement(P.a, {
450
+ input: e.initial_capital
451
+ })), r.createElement(T.a, {
452
+ label: window.t("Base currency")
453
+ }, r.createElement(k, {
454
+ input: e.currency
455
+ })), r.createElement(T.a, {
456
+ label: window.t("Order size"),
457
+ labelAlign: "adaptive"
458
+ }, r.createElement(L.a, null, r.createElement(P.a, {
459
+ input: e.default_qty_value
460
+ }), r.createElement(z, {
461
+ input: e.default_qty_type
462
+ }))), r.createElement(T.a, {
463
+ label: window.t("Pyramiding")
464
+ }, r.createElement("span", null, r.createElement(P.a, {
465
+ input: e.pyramiding
466
+ })), r.createElement("span", {
467
+ className: W.descriptionCell
468
+ }, window.t("orders", {
469
+ context: "Pyramiding: count orders"
470
+ }))), r.createElement(V.a.Separator, null), r.createElement(T.a, {
471
+ label: window.t("Commission"),
472
+ labelAlign: "adaptive"
473
+ }, r.createElement(L.a, null, r.createElement(P.a, {
474
+ input: e.commission_value
475
+ }), r.createElement(B, {
476
+ input: e.commission_type
477
+ }))), r.createElement(T.a, {
478
+ label: window.t("Verify Price for Limit Orders")
479
+ }, r.createElement("span", null, r.createElement(P.a, {
480
+ input: e.backtest_fill_limits_assumption
481
+ })), r.createElement("span", {
482
+ className: W.descriptionCell
483
+ }, window.t("ticks", {
484
+ context: "slippage ... ticks"
485
+ }))), r.createElement(T.a, {
486
+ label: window.t("Slippage")
487
+ }, r.createElement("span", null, r.createElement(P.a, {
488
+ input: e.slippage
489
+ })), r.createElement("span", {
490
+ className: W.descriptionCell
491
+ }, window.t("ticks", {
492
+ context: "slippage ... ticks"
493
+ }))), r.createElement(V.a.Separator, null), Object(H.isFeatureEnabled)("show_strategy_margin_inputs") && e.margin_long && e.margin_short && r.createElement(r.Fragment, null, r.createElement(T.a, {
494
+ label: window.t("Margin For Long Positions")
495
+ }, r.createElement("span", null, r.createElement(P.a, {
496
+ input: e.margin_long
497
+ })), r.createElement("span", {
498
+ className: W.descriptionCell
499
+ }, "%")), r.createElement(T.a, {
500
+ label: window.t("Margin For Short Positions")
501
+ }, r.createElement("span", null, r.createElement(P.a, {
502
+ input: e.margin_short
503
+ })), r.createElement("span", {
504
+ className: W.descriptionCell
505
+ }, "%")), r.createElement(V.a.Separator, null)), r.createElement(T.a, {
506
+ label: window.t("Recalculate"),
507
+ labelAlign: "top"
508
+ }, r.createElement("div", null, r.createElement("div", {
509
+ className: W.recalculateCheckbox
510
+ }, r.createElement(j.a, {
511
+ label: window.t("After Order is Filled"),
512
+ input: e.calc_on_order_fills
513
+ })), r.createElement("div", {
514
+ className: W.recalculateCheckbox
515
+ }, r.createElement(j.a, {
516
+ label: window.t("On Every Tick"),
517
+ input: e.calc_on_every_tick
518
+ })))));
519
+ }
520
+
521
+ }
522
+
523
+ function A(e) {
524
+ const {
525
+ property: t,
526
+ model: n,
527
+ inputs: l,
528
+ study: a
529
+ } = e;
530
+ return r.createElement(N.a, {
531
+ property: t.inputs,
532
+ model: n,
533
+ study: a
534
+ }, r.createElement(G, {
535
+ inputs: l
536
+ }));
537
+ }
538
+
539
+ G.contextType = N.b;
540
+ var U = n("z61+"),
541
+ q = n("txPx");
542
+ const $ = Object(q.getLogger)("Platform.GUI.PropertyDialog.Indicators.StrategyPage");
543
+
544
+ class K extends r.PureComponent {
545
+ constructor(e) {
546
+ super(e), this._handleWatchedDataChange = () => {
547
+ this.setState({
548
+ currency: this._getCurrency()
549
+ });
550
+ };
551
+ const {
552
+ source: t
553
+ } = this.props;
554
+ if (this._source = t, !Object(v.isStudy)(this._source)) throw new TypeError("Strategy page works only for study.");
555
+ this._properties = t.properties();
556
+ const n = t.metaInfo(),
557
+ l = new U.a(n);
558
+ this._inputs = l.getStrategyProperties(), this.state = {
559
+ currency: this._getCurrency()
560
+ };
561
+ }
562
+
563
+ componentDidMount() {
564
+ this._source.watchedData.subscribe(this._handleWatchedDataChange);
565
+ }
566
+
567
+ componentWillUnmount() {
568
+ this._source.watchedData.unsubscribe(this._handleWatchedDataChange);
569
+ }
570
+
571
+ render() {
572
+ return r.createElement(I.Provider, {
573
+ value: this.state.currency
574
+ }, r.createElement(A, {
575
+ inputs: this._inputs,
576
+ property: this._properties,
577
+ model: this.props.model,
578
+ study: this.props.source
579
+ }));
580
+ }
581
+
582
+ _getCurrency() {
583
+ const e = this._source,
584
+ t = e.reportData();
585
+
586
+ if (null === t || void 0 === t.currency) {
587
+ void 0 !== this.state && null === this.state.currency || $.logWarn("Can't obtain currency from strategy report");
588
+ const t = e.metaInfo().inputs.find(e => "currency" === e.internalID),
589
+ n = null == t ? void 0 : t.defval;
590
+ if (n && "NONE" !== n) return n.toString();
591
+ const l = this.props.model.mainSeries().symbolInfo();
592
+ return (null == l ? void 0 : l.original_currency_code) || (null == l ? void 0 : l.currency_code) || null;
593
+ }
594
+
595
+ return t.currency;
596
+ }
597
+
598
+ }
599
+
600
+ var Y = n("5Ssy");
601
+
602
+ class Q extends r.PureComponent {
603
+ constructor(e) {
604
+ super(e), this._properties = this.props.source.properties(), this._inputs = new U.a(this.props.source.metaInfo()).getUserEditableInputs();
605
+ }
606
+
607
+ render() {
608
+ return r.createElement(Y.a, {
609
+ property: this._properties,
610
+ model: this.props.model,
611
+ study: this.props.source,
612
+ inputs: this._inputs
613
+ });
614
+ }
615
+
616
+ }
617
+
618
+ var J = n("RMU6"),
619
+ X = n("23IT"),
620
+ Z = n("0YCj"),
621
+ ee = n.n(Z),
622
+ te = n("Z1Tk"),
623
+ ne = n("S0KV");
624
+ const le = window.t("Change Visibility");
625
+
626
+ class ae extends r.PureComponent {
627
+ constructor() {
628
+ super(...arguments), this._onChange = e => {
629
+ const {
630
+ setValue: t
631
+ } = this.context,
632
+ {
633
+ visible: n
634
+ } = this.props;
635
+ n && Object(ne.b)(n, n => t(n, e, le));
636
+ };
637
+ }
638
+
639
+ render() {
640
+ const {
641
+ id: e,
642
+ title: t,
643
+ visible: n,
644
+ disabled: l
645
+ } = this.props,
646
+ a = Object(o.clean)(window.t(t, {
647
+ context: "input"
648
+ }), !0);
649
+ return r.createElement(j.b, {
650
+ label: a,
651
+ disabled: l,
652
+ input: {
653
+ id: e,
654
+ type: "bool",
655
+ defval: !0,
656
+ name: "visible"
657
+ },
658
+ value: !n || Object(ne.a)(n),
659
+ onChange: this._onChange
660
+ });
661
+ }
662
+
663
+ }
664
+
665
+ ae.contextType = te.b;
666
+ var re = n("KKsp"),
667
+ se = n("MB0Y"),
668
+ ie = n("CHgb"),
669
+ oe = n("xHjM"),
670
+ ce = n("/YRR"),
671
+ pe = n("rlj/"),
672
+ de = n("kBAl"),
673
+ he = n("ZtdB"),
674
+ ue = n("D2im"),
675
+ me = n("tH7p"),
676
+ be = n("tQCG"),
677
+ we = n("9FXF"),
678
+ ge = n("sPU+");
679
+ const ve = {
680
+ [X.LineStudyPlotStyle.Line]: {
681
+ type: X.LineStudyPlotStyle.Line,
682
+ order: 0,
683
+ icon: oe,
684
+ label: window.t("Line")
685
+ },
686
+ [X.LineStudyPlotStyle.LineWithBreaks]: {
687
+ type: X.LineStudyPlotStyle.LineWithBreaks,
688
+ order: 1,
689
+ icon: ce,
690
+ label: window.t("Line With Breaks")
691
+ },
692
+ [X.LineStudyPlotStyle.StepLine]: {
693
+ type: X.LineStudyPlotStyle.StepLine,
694
+ order: 2,
695
+ icon: pe,
696
+ label: window.t("Step Line")
697
+ },
698
+ [X.LineStudyPlotStyle.StepLineWithDiamonds]: {
699
+ type: X.LineStudyPlotStyle.StepLineWithDiamonds,
700
+ order: 3,
701
+ icon: de,
702
+ label: window.t("Step Line With Diamonds")
703
+ },
704
+ [X.LineStudyPlotStyle.Histogram]: {
705
+ type: X.LineStudyPlotStyle.Histogram,
706
+ order: 4,
707
+ icon: he,
708
+ label: window.t("Histogram")
709
+ },
710
+ [X.LineStudyPlotStyle.Cross]: {
711
+ type: X.LineStudyPlotStyle.Cross,
712
+ order: 5,
713
+ icon: ue,
714
+ label: window.t("Cross", {
715
+ context: "chart_type"
716
+ })
717
+ },
718
+ [X.LineStudyPlotStyle.Area]: {
719
+ type: X.LineStudyPlotStyle.Area,
720
+ order: 6,
721
+ icon: me,
722
+ label: window.t("Area")
723
+ },
724
+ [X.LineStudyPlotStyle.AreaWithBreaks]: {
725
+ type: X.LineStudyPlotStyle.AreaWithBreaks,
726
+ order: 7,
727
+ icon: be,
728
+ label: window.t("Area With Breaks")
729
+ },
730
+ [X.LineStudyPlotStyle.Columns]: {
731
+ type: X.LineStudyPlotStyle.Columns,
732
+ order: 8,
733
+ icon: we,
734
+ label: window.t("Columns")
735
+ },
736
+ [X.LineStudyPlotStyle.Circles]: {
737
+ type: X.LineStudyPlotStyle.Circles,
738
+ order: 9,
739
+ icon: ge,
740
+ label: window.t("Circles")
741
+ }
742
+ },
743
+ ye = Object.values(ve).sort((e, t) => e.order - t.order).map(e => ({
744
+ value: e.type,
745
+ selectedContent: s.a.createElement(ie.a, {
746
+ icon: e.icon
747
+ }),
748
+ content: s.a.createElement(ie.b, {
749
+ icon: e.icon,
750
+ label: e.label
751
+ })
752
+ })),
753
+ Ce = window.t("Price Line");
754
+
755
+ class fe extends s.a.PureComponent {
756
+ render() {
757
+ const {
758
+ id: e,
759
+ plotType: t,
760
+ className: n,
761
+ priceLine: l,
762
+ plotTypeChange: a,
763
+ priceLineChange: r,
764
+ disabled: i
765
+ } = this.props;
766
+ if (!(t in ve)) return null;
767
+ const o = {
768
+ readonly: !0,
769
+ content: s.a.createElement(s.a.Fragment, null, s.a.createElement(se.b, {
770
+ id: "PlotTypePriceLineSwitch",
771
+ checked: l,
772
+ label: Ce,
773
+ preventLabelHighlight: !0,
774
+ value: "priceLineSwitcher",
775
+ onChange: r
776
+ }), s.a.createElement(re.a, null))
777
+ };
778
+ return s.a.createElement(ie.c, {
779
+ id: e,
780
+ disabled: i,
781
+ className: n,
782
+ hideArrowButton: !0,
783
+ items: [o, ...ye],
784
+ value: t,
785
+ onChange: a
786
+ });
787
+ }
788
+
789
+ }
790
+
791
+ var Ee = n("lkVX"),
792
+ Se = n("wwEg");
793
+
794
+ const Pe = window.t("Change Plot Type"),
795
+ _e = window.t("Change Price Line");
796
+
797
+ class xe extends r.PureComponent {
798
+ constructor() {
799
+ super(...arguments), this._onPlotTypeChange = e => {
800
+ const {
801
+ setValue: t
802
+ } = this.context,
803
+ {
804
+ styleProp: {
805
+ plottype: n
806
+ }
807
+ } = this.props;
808
+ n && t(n, e, Pe);
809
+ }, this._onPriceLineChange = e => {
810
+ const {
811
+ setValue: t
812
+ } = this.context,
813
+ {
814
+ styleProp: {
815
+ trackPrice: n
816
+ }
817
+ } = this.props;
818
+ n && t(n, e, _e);
819
+ };
820
+ }
821
+
822
+ render() {
823
+ const {
824
+ id: e,
825
+ paletteColor: t,
826
+ paletteColorProps: n,
827
+ styleProp: l,
828
+ isLine: a,
829
+ hasPlotTypeSelect: s,
830
+ grouped: i,
831
+ offset: o
832
+ } = this.props,
833
+ c = n.childs();
834
+ return r.createElement(T.a, {
835
+ grouped: i,
836
+ label: r.createElement("div", {
837
+ className: Se.childRowContainer
838
+ }, window.t(t.name, {
839
+ context: "input"
840
+ })),
841
+ offset: o
842
+ }, r.createElement(Ee.a, {
843
+ disabled: !l.visible.value(),
844
+ color: c.color,
845
+ transparency: l.transparency,
846
+ thickness: a ? c.width : void 0,
847
+ isPaletteColor: !0
848
+ }), a && s && l.plottype && l.trackPrice ? r.createElement(fe, {
849
+ id: Object(J.a)(e, "plot-type-select"),
850
+ disabled: !l.visible.value(),
851
+ className: Se.smallStyleControl,
852
+ plotType: l.plottype.value(),
853
+ priceLine: l.trackPrice.value(),
854
+ plotTypeChange: this._onPlotTypeChange,
855
+ priceLineChange: this._onPriceLineChange
856
+ }) : null);
857
+ }
858
+
859
+ }
860
+
861
+ xe.contextType = te.b;
862
+
863
+ class Oe extends r.PureComponent {
864
+ render() {
865
+ const {
866
+ plot: e,
867
+ area: t,
868
+ palette: n,
869
+ paletteProps: l,
870
+ hideVisibilitySwitch: a,
871
+ styleProp: s,
872
+ showOnlyTitle: o,
873
+ showSeparator: c = !0,
874
+ offset: p
875
+ } = this.props,
876
+ d = e ? e.id : Object(i.ensureDefined)(t).id,
877
+ h = !d.startsWith("fill") && e && Object(X.isLinePlot)(e);
878
+ return r.createElement(r.Fragment, null, !a && r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
879
+ placement: "first",
880
+ colSpan: 2,
881
+ offset: p
882
+ }, o ? r.createElement("div", null, t ? t.title : s.title.value()) : r.createElement(ae, {
883
+ id: d,
884
+ title: t ? t.title : s.title.value(),
885
+ visible: s.visible
886
+ }))), function (e, t, n, l, a, s) {
887
+ const o = t.colors,
888
+ c = n.colors;
889
+ return Object.keys(o).map((t, n) => r.createElement(xe, {
890
+ key: t,
891
+ id: e,
892
+ grouped: !0,
893
+ paletteColor: Object(i.ensureDefined)(o[t]),
894
+ paletteColorProps: Object(i.ensureDefined)(c[t]),
895
+ styleProp: l,
896
+ isLine: a,
897
+ hasPlotTypeSelect: 0 === n,
898
+ offset: s
899
+ }));
900
+ }(d, n, l, s, h, p), c && r.createElement(V.a.GroupSeparator, null));
901
+ }
902
+
903
+ }
904
+
905
+ Oe.contextType = te.b;
906
+ var ke = n("3lVo");
907
+ const je = window.t("Change Plot Type"),
908
+ Te = window.t("Change Price Line");
909
+
910
+ class Le extends r.PureComponent {
911
+ constructor() {
912
+ super(...arguments), this._onPlotTypeChange = e => {
913
+ const {
914
+ setValue: t
915
+ } = this.context,
916
+ {
917
+ property: {
918
+ plottype: n
919
+ }
920
+ } = this.props;
921
+ n && t(n, e, je);
922
+ }, this._onPriceLineChange = e => {
923
+ const {
924
+ setValue: t
925
+ } = this.context,
926
+ {
927
+ property: {
928
+ trackPrice: n
929
+ }
930
+ } = this.props;
931
+ n && t(n, e, Te);
932
+ };
933
+ }
934
+
935
+ render() {
936
+ const {
937
+ id: e,
938
+ isRGB: t,
939
+ property: {
940
+ title: n,
941
+ color: l,
942
+ plottype: a,
943
+ linewidth: s,
944
+ transparency: i,
945
+ trackPrice: o,
946
+ visible: c
947
+ }
948
+ } = this.props;
949
+ return r.createElement(T.a, {
950
+ label: r.createElement(ae, {
951
+ id: e,
952
+ title: n.value(),
953
+ visible: c
954
+ })
955
+ }, t ? this._getInputForRgb() : r.createElement(Ee.a, {
956
+ disabled: !c.value(),
957
+ color: l,
958
+ transparency: i,
959
+ thickness: s
960
+ }), r.createElement(fe, {
961
+ id: Object(J.a)(e, "plot-type-select"),
962
+ disabled: !c.value(),
963
+ className: Se.smallStyleControl,
964
+ plotType: a.value(),
965
+ priceLine: o.value(),
966
+ plotTypeChange: this._onPlotTypeChange,
967
+ priceLineChange: this._onPriceLineChange
968
+ }));
969
+ }
970
+
971
+ _getInputForRgb() {
972
+ const {
973
+ id: e,
974
+ showLineWidth: t,
975
+ property: n
976
+ } = this.props,
977
+ {
978
+ linewidth: l,
979
+ visible: a
980
+ } = n;
981
+ return l && t ? r.createElement(ke.a, {
982
+ id: Object(J.a)(e, "line-width-select"),
983
+ property: l,
984
+ disabled: !a.value()
985
+ }) : null;
986
+ }
987
+
988
+ }
989
+
990
+ Le.contextType = te.b;
991
+ const Ne = r.createContext(null);
992
+
993
+ class Ve extends r.PureComponent {
994
+ render() {
995
+ const {
996
+ id: e,
997
+ isRGB: t,
998
+ title: n,
999
+ visible: l,
1000
+ color: a,
1001
+ transparency: s,
1002
+ thickness: i,
1003
+ children: o,
1004
+ switchable: c = !0,
1005
+ offset: p,
1006
+ grouped: d
1007
+ } = this.props;
1008
+ return r.createElement(T.a, {
1009
+ label: c ? r.createElement(ae, {
1010
+ id: e,
1011
+ title: n,
1012
+ visible: l
1013
+ }) : n,
1014
+ offset: p,
1015
+ grouped: d
1016
+ }, t ? null : r.createElement(Ee.a, {
1017
+ disabled: l && !(Array.isArray(l) ? l[0].value() : l.value()),
1018
+ color: a,
1019
+ transparency: s,
1020
+ thickness: i
1021
+ }), o);
1022
+ }
1023
+
1024
+ }
1025
+
1026
+ Ve.contextType = te.b;
1027
+
1028
+ class Ie extends r.PureComponent {
1029
+ render() {
1030
+ const {
1031
+ id: e,
1032
+ isRGB: t,
1033
+ property: {
1034
+ colorup: n,
1035
+ colordown: l,
1036
+ transparency: a,
1037
+ visible: s
1038
+ }
1039
+ } = this.props;
1040
+ return r.createElement(Ne.Consumer, null, o => r.createElement(r.Fragment, null, r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1041
+ placement: "first",
1042
+ colSpan: 2,
1043
+ grouped: !0
1044
+ }, r.createElement(ae, {
1045
+ id: e,
1046
+ title: pt(Object(i.ensureNotNull)(o), e),
1047
+ visible: s
1048
+ }))), !t && r.createElement(r.Fragment, null, r.createElement(Ve, {
1049
+ id: e,
1050
+ title: at,
1051
+ color: n,
1052
+ transparency: a,
1053
+ visible: s,
1054
+ switchable: !1,
1055
+ offset: !0,
1056
+ grouped: !0
1057
+ }), r.createElement(Ve, {
1058
+ id: e,
1059
+ title: rt,
1060
+ color: l,
1061
+ transparency: a,
1062
+ visible: s,
1063
+ switchable: !1,
1064
+ offset: !0,
1065
+ grouped: !0
1066
+ })), r.createElement(V.a.GroupSeparator, null)));
1067
+ }
1068
+
1069
+ }
1070
+
1071
+ Ie.contextType = te.b;
1072
+ var Me = n("/SnT"),
1073
+ Re = n.n(Me),
1074
+ Be = n("TSYQ"),
1075
+ De = n.n(Be),
1076
+ Fe = n("wHCJ"),
1077
+ ze = n("PECq"),
1078
+ He = n("972a");
1079
+ const We = {
1080
+ [He.c.AboveBar]: {
1081
+ value: He.c.AboveBar,
1082
+ content: window.t("Above Bar"),
1083
+ order: 0
1084
+ },
1085
+ [He.c.BelowBar]: {
1086
+ value: He.c.BelowBar,
1087
+ content: window.t("Below Bar"),
1088
+ order: 1
1089
+ },
1090
+ [He.c.Top]: {
1091
+ value: He.c.Top,
1092
+ content: window.t("Top"),
1093
+ order: 2
1094
+ },
1095
+ [He.c.Bottom]: {
1096
+ value: He.c.Bottom,
1097
+ content: window.t("Bottom"),
1098
+ order: 3
1099
+ },
1100
+ [He.c.Absolute]: {
1101
+ value: He.c.Absolute,
1102
+ content: window.t("Absolute"),
1103
+ order: 4
1104
+ }
1105
+ },
1106
+ Ge = Object.values(We).sort((e, t) => e.order - t.order);
1107
+
1108
+ class Ae extends r.PureComponent {
1109
+ render() {
1110
+ const {
1111
+ id: e,
1112
+ shapeLocation: t,
1113
+ className: n,
1114
+ menuItemClassName: l,
1115
+ shapeLocationChange: a,
1116
+ disabled: s
1117
+ } = this.props;
1118
+ return r.createElement(ze.a, {
1119
+ id: e,
1120
+ disabled: s,
1121
+ className: n,
1122
+ menuItemClassName: l,
1123
+ items: Ge,
1124
+ value: t,
1125
+ onChange: a
1126
+ });
1127
+ }
1128
+
1129
+ }
1130
+
1131
+ const Ue = window.t("Change Char"),
1132
+ qe = window.t("Change Location");
1133
+
1134
+ class $e extends r.PureComponent {
1135
+ constructor() {
1136
+ super(...arguments), this._onCharChange = e => {
1137
+ const {
1138
+ setValue: t
1139
+ } = this.context,
1140
+ n = e.currentTarget.value.trim(),
1141
+ l = Re()(n),
1142
+ a = 0 === l.length ? "" : l[l.length - 1],
1143
+ {
1144
+ property: {
1145
+ char: r
1146
+ }
1147
+ } = this.props;
1148
+ t(r, a, Ue);
1149
+ }, this._onLocationChange = e => {
1150
+ const {
1151
+ setValue: t
1152
+ } = this.context,
1153
+ {
1154
+ property: {
1155
+ location: n
1156
+ }
1157
+ } = this.props;
1158
+ t(n, e, qe);
1159
+ };
1160
+ }
1161
+
1162
+ render() {
1163
+ const {
1164
+ id: e,
1165
+ isRGB: t,
1166
+ property: {
1167
+ title: n,
1168
+ color: l,
1169
+ transparency: a,
1170
+ char: s,
1171
+ location: i,
1172
+ visible: o
1173
+ },
1174
+ hasPalette: c
1175
+ } = this.props;
1176
+ return r.createElement(T.a, {
1177
+ grouped: c,
1178
+ label: r.createElement(ae, {
1179
+ id: e,
1180
+ title: n.value(),
1181
+ visible: o
1182
+ })
1183
+ }, !c && !t && r.createElement(Ee.a, {
1184
+ disabled: !o.value(),
1185
+ color: l,
1186
+ transparency: a
1187
+ }), r.createElement(Fe.a, {
1188
+ disabled: !o.value(),
1189
+ className: Se.smallStyleControl,
1190
+ value: s.value(),
1191
+ onChange: this._onCharChange
1192
+ }), r.createElement(Ae, {
1193
+ id: Object(J.a)(e, "shape-style-select"),
1194
+ disabled: !o.value(),
1195
+ className: Be(Se.defaultSelect, Se.additionalSelect),
1196
+ menuItemClassName: Se.defaultSelectItem,
1197
+ shapeLocation: i.value(),
1198
+ shapeLocationChange: this._onLocationChange
1199
+ }));
1200
+ }
1201
+
1202
+ }
1203
+
1204
+ $e.contextType = te.b;
1205
+ var Ke = n("Nu4p");
1206
+ const Ye = {
1207
+ arrow_down: n("4Njr"),
1208
+ arrow_up: n("lOpG"),
1209
+ circle: n("br6c"),
1210
+ cross: n("m+Gx"),
1211
+ diamond: n("01Ho"),
1212
+ flag: n("4ZyK"),
1213
+ label_down: n("kMtk"),
1214
+ label_up: n("Dj0x"),
1215
+ square: n("Ly1u"),
1216
+ triangle_down: n("leq5"),
1217
+ triangle_up: n("flzi"),
1218
+ x_cross: n("iB0j")
1219
+ };
1220
+
1221
+ function Qe(e) {
1222
+ return Ye[e];
1223
+ }
1224
+
1225
+ const Je = [];
1226
+ Object.keys(Ke.a).forEach(e => {
1227
+ const t = Ke.a[e];
1228
+ Je.push({
1229
+ id: t.id,
1230
+ value: t.id,
1231
+ selectedContent: s.a.createElement(ie.a, {
1232
+ icon: Qe(t.icon)
1233
+ }),
1234
+ content: s.a.createElement(ie.b, {
1235
+ icon: Qe(t.icon),
1236
+ label: t.guiName
1237
+ })
1238
+ });
1239
+ });
1240
+
1241
+ class Xe extends s.a.PureComponent {
1242
+ render() {
1243
+ const {
1244
+ id: e,
1245
+ shapeStyleId: t,
1246
+ className: n,
1247
+ shapeStyleChange: l,
1248
+ disabled: a
1249
+ } = this.props;
1250
+ return s.a.createElement(ie.c, {
1251
+ id: e,
1252
+ disabled: a,
1253
+ className: n,
1254
+ hideArrowButton: !0,
1255
+ items: Je,
1256
+ value: t,
1257
+ onChange: l
1258
+ });
1259
+ }
1260
+
1261
+ }
1262
+
1263
+ const Ze = window.t("Change Shape"),
1264
+ et = window.t("Change Location");
1265
+
1266
+ class tt extends r.PureComponent {
1267
+ constructor() {
1268
+ super(...arguments), this._onPlotTypeChange = e => {
1269
+ const {
1270
+ setValue: t
1271
+ } = this.context,
1272
+ {
1273
+ property: {
1274
+ plottype: n
1275
+ }
1276
+ } = this.props;
1277
+ t(n, e, Ze);
1278
+ }, this._onLocationChange = e => {
1279
+ const {
1280
+ setValue: t
1281
+ } = this.context,
1282
+ {
1283
+ property: {
1284
+ location: n
1285
+ }
1286
+ } = this.props;
1287
+ t(n, e, et);
1288
+ };
1289
+ }
1290
+
1291
+ render() {
1292
+ const {
1293
+ id: e,
1294
+ isRGB: t,
1295
+ hasPalette: n,
1296
+ property: {
1297
+ title: l,
1298
+ color: a,
1299
+ transparency: s,
1300
+ plottype: i,
1301
+ location: o,
1302
+ visible: c
1303
+ }
1304
+ } = this.props;
1305
+ return r.createElement(T.a, {
1306
+ grouped: n,
1307
+ label: r.createElement(ae, {
1308
+ id: e,
1309
+ title: l.value(),
1310
+ visible: c
1311
+ })
1312
+ }, !n && !t && r.createElement(Ee.a, {
1313
+ disabled: !c.value(),
1314
+ color: a,
1315
+ transparency: s
1316
+ }), r.createElement(Xe, {
1317
+ id: Object(J.a)(e, "shape-style-select"),
1318
+ disabled: !c.value(),
1319
+ className: Se.smallStyleControl,
1320
+ shapeStyleId: i.value(),
1321
+ shapeStyleChange: this._onPlotTypeChange
1322
+ }), r.createElement(Ae, {
1323
+ id: Object(J.a)(e, "shape-location-select"),
1324
+ disabled: !c.value(),
1325
+ className: Be(Se.defaultSelect, Se.additionalSelect),
1326
+ menuItemClassName: Se.defaultSelectItem,
1327
+ shapeLocation: o.value(),
1328
+ shapeLocationChange: this._onLocationChange
1329
+ }));
1330
+ }
1331
+
1332
+ }
1333
+
1334
+ tt.contextType = te.b;
1335
+ var nt = n("m/cY");
1336
+ const lt = Object(q.getLogger)("Chart.Study.PropertyPage"),
1337
+ at = Object(l.t)("Up"),
1338
+ rt = Object(l.t)("Down"),
1339
+ st = Object(l.t)("Body"),
1340
+ it = Object(l.t)("Wick"),
1341
+ ot = Object(l.t)("Border");
1342
+
1343
+ class ct extends r.PureComponent {
1344
+ render() {
1345
+ const {
1346
+ plot: e,
1347
+ palettes: t,
1348
+ study: n
1349
+ } = this.props,
1350
+ l = e.id,
1351
+ a = n.properties().styles[l],
1352
+ s = e.type,
1353
+ i = t.main,
1354
+ o = !!n.metaInfo().isRGB;
1355
+ if ("line" === s || "bar_colorer" === s || "bg_colorer" === s) return i && i.palette && i.paletteProps ? r.createElement(Oe, {
1356
+ plot: e,
1357
+ palette: i.palette,
1358
+ paletteProps: i.paletteProps,
1359
+ styleProp: a
1360
+ }) : r.createElement(Le, {
1361
+ id: l,
1362
+ property: a,
1363
+ isRGB: o,
1364
+ showLineWidth: "line" === s
1365
+ });
1366
+
1367
+ if ("arrows" === s) {
1368
+ const s = this._getPlotSwitch(l, pt(n, l), a.visible);
1369
+
1370
+ if (o) return s;
1371
+ const i = t.up,
1372
+ c = t.down;
1373
+ return i || c ? r.createElement(r.Fragment, null, s, i && i.palette && i.paletteProps ? r.createElement(Oe, {
1374
+ plot: e,
1375
+ palette: i.palette,
1376
+ paletteProps: i.paletteProps,
1377
+ styleProp: _objectSpread(_objectSpread({}, a), {}, {
1378
+ title: Object(nt.a)(at)
1379
+ }),
1380
+ showSeparator: !1,
1381
+ showOnlyTitle: !0,
1382
+ offset: !0
1383
+ }) : r.createElement(Ve, {
1384
+ id: l,
1385
+ isRGB: o,
1386
+ title: at,
1387
+ color: a.colorup,
1388
+ visible: a.visible,
1389
+ transparency: a.transparency,
1390
+ switchable: !1,
1391
+ grouped: !0,
1392
+ offset: !0
1393
+ }), c && c.palette && c.paletteProps ? r.createElement(Oe, {
1394
+ plot: e,
1395
+ palette: c.palette,
1396
+ paletteProps: c.paletteProps,
1397
+ styleProp: _objectSpread(_objectSpread({}, a), {}, {
1398
+ title: Object(nt.a)(rt)
1399
+ }),
1400
+ showSeparator: !1,
1401
+ showOnlyTitle: !0,
1402
+ offset: !0
1403
+ }) : r.createElement(Ve, {
1404
+ id: l,
1405
+ isRGB: o,
1406
+ title: rt,
1407
+ color: a.colordown,
1408
+ visible: a.visible,
1409
+ transparency: a.transparency,
1410
+ switchable: !1,
1411
+ grouped: !0,
1412
+ offset: !0
1413
+ }), r.createElement(V.a.GroupSeparator, null)) : r.createElement(Ie, {
1414
+ id: l,
1415
+ property: a,
1416
+ isRGB: o,
1417
+ plot: e,
1418
+ palettes: t,
1419
+ styleProp: a
1420
+ });
1421
+ }
1422
+
1423
+ if ("chars" === s || "shapes" === s) return r.createElement(r.Fragment, null, "chars" === s ? r.createElement($e, {
1424
+ id: l,
1425
+ property: a,
1426
+ hasPalette: Boolean(i && i.palette),
1427
+ isRGB: o
1428
+ }) : r.createElement(tt, {
1429
+ id: l,
1430
+ property: a,
1431
+ hasPalette: Boolean(i && i.palette),
1432
+ isRGB: o
1433
+ }), i && i.palette && i.paletteProps && r.createElement(Oe, {
1434
+ plot: e,
1435
+ palette: i.palette,
1436
+ paletteProps: i.paletteProps,
1437
+ hideVisibilitySwitch: !0,
1438
+ styleProp: a
1439
+ }));
1440
+
1441
+ if (Object(X.isOhlcPlot)(e)) {
1442
+ const a = e.target,
1443
+ s = n.properties().ohlcPlots[a],
1444
+ c = this._getPlotSwitch(l, s.title.value(), s.visible);
1445
+
1446
+ if (o) return c;
1447
+ const p = t.wick && t.wick.palette && t.wick.paletteProps,
1448
+ d = t.border && t.border.palette && t.border.paletteProps;
1449
+ return r.createElement(r.Fragment, null, c, i && i.palette && i.paletteProps ? r.createElement(Oe, {
1450
+ plot: e,
1451
+ palette: i.palette,
1452
+ paletteProps: i.paletteProps,
1453
+ styleProp: _objectSpread(_objectSpread({}, s), {}, {
1454
+ title: Object(nt.a)(st)
1455
+ }),
1456
+ showSeparator: !1,
1457
+ showOnlyTitle: !0,
1458
+ offset: !0
1459
+ }) : r.createElement(Ve, {
1460
+ id: l,
1461
+ isRGB: o,
1462
+ title: st,
1463
+ visible: s.visible,
1464
+ color: s.color,
1465
+ transparency: s.transparency,
1466
+ switchable: !1,
1467
+ grouped: !0,
1468
+ offset: !0
1469
+ }), t.wick && t.wick.palette && t.wick.paletteProps && r.createElement(Oe, {
1470
+ plot: e,
1471
+ palette: t.wick.palette,
1472
+ paletteProps: t.wick.paletteProps,
1473
+ styleProp: _objectSpread(_objectSpread({}, s), {}, {
1474
+ title: Object(nt.a)(it)
1475
+ }),
1476
+ showSeparator: !1,
1477
+ showOnlyTitle: !0,
1478
+ offset: !0
1479
+ }), Boolean(!p && s.wickColor) && r.createElement(Ve, {
1480
+ id: l,
1481
+ isRGB: o,
1482
+ title: it,
1483
+ visible: s.visible,
1484
+ color: s.wickColor,
1485
+ transparency: s.transparency,
1486
+ switchable: !1,
1487
+ grouped: !0,
1488
+ offset: !0
1489
+ }), t.border && t.border.palette && t.border.paletteProps && r.createElement(Oe, {
1490
+ plot: e,
1491
+ palette: t.border.palette,
1492
+ paletteProps: t.border.paletteProps,
1493
+ styleProp: _objectSpread(_objectSpread({}, s), {}, {
1494
+ title: Object(nt.a)(ot)
1495
+ }),
1496
+ showSeparator: !1,
1497
+ showOnlyTitle: !0,
1498
+ offset: !0
1499
+ }), Boolean(!d && s.borderColor) && r.createElement(Ve, {
1500
+ id: l,
1501
+ isRGB: o,
1502
+ title: ot,
1503
+ visible: s.visible,
1504
+ color: s.borderColor,
1505
+ transparency: s.transparency,
1506
+ switchable: !1,
1507
+ grouped: !0,
1508
+ offset: !0
1509
+ }), r.createElement(V.a.GroupSeparator, null));
1510
+ }
1511
+
1512
+ return lt.logError("Unknown plot type: " + s), null;
1513
+ }
1514
+
1515
+ _getPlotSwitch(e, t, n) {
1516
+ return r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1517
+ placement: "first",
1518
+ colSpan: 2
1519
+ }, r.createElement(ae, {
1520
+ id: e,
1521
+ title: t,
1522
+ visible: n
1523
+ })));
1524
+ }
1525
+
1526
+ }
1527
+
1528
+ function pt(e, t) {
1529
+ const n = Object(i.ensureDefined)(e.metaInfo().styles),
1530
+ {
1531
+ title: l
1532
+ } = Object(i.ensureDefined)(n[t]);
1533
+ return Object(i.ensureDefined)(l);
1534
+ }
1535
+
1536
+ var dt = n("YS4w"),
1537
+ ht = n("KacW");
1538
+ const ut = window.t("Change Line Style");
1539
+
1540
+ class mt extends s.a.PureComponent {
1541
+ constructor() {
1542
+ super(...arguments), this._onLineStyleChange = e => {
1543
+ const {
1544
+ setValue: t
1545
+ } = this.context,
1546
+ {
1547
+ lineStyle: n
1548
+ } = this.props;
1549
+ Object(ne.b)(n, n => t(n, e, ut));
1550
+ };
1551
+ }
1552
+
1553
+ render() {
1554
+ const _this$props2 = this.props,
1555
+ {
1556
+ lineStyle: e
1557
+ } = _this$props2,
1558
+ t = _objectWithoutProperties(_this$props2, _excluded2);
1559
+
1560
+ return s.a.createElement(ht.a, _objectSpread(_objectSpread({}, t), {}, {
1561
+ lineStyle: Object(ne.a)(e),
1562
+ lineStyleChange: this._onLineStyleChange
1563
+ }));
1564
+ }
1565
+
1566
+ }
1567
+
1568
+ mt.contextType = te.b;
1569
+ const bt = window.t("Change Value");
1570
+
1571
+ class wt extends r.PureComponent {
1572
+ constructor() {
1573
+ super(...arguments), this._onValueChange = e => {
1574
+ const {
1575
+ setValue: t
1576
+ } = this.context,
1577
+ {
1578
+ value: n
1579
+ } = this.props.property;
1580
+ t(n, e, bt);
1581
+ };
1582
+ }
1583
+
1584
+ render() {
1585
+ const {
1586
+ id: e,
1587
+ property: {
1588
+ name: t,
1589
+ color: n,
1590
+ linestyle: l,
1591
+ linewidth: a,
1592
+ transparency: s,
1593
+ value: i,
1594
+ visible: o
1595
+ }
1596
+ } = this.props;
1597
+ return r.createElement(T.a, {
1598
+ labelAlign: "adaptive",
1599
+ label: r.createElement(ae, {
1600
+ id: e,
1601
+ title: t.value(),
1602
+ visible: o
1603
+ })
1604
+ }, r.createElement("div", {
1605
+ className: Se.block
1606
+ }, r.createElement("div", {
1607
+ className: Se.group
1608
+ }, r.createElement(Ee.a, {
1609
+ disabled: !o.value(),
1610
+ color: n,
1611
+ transparency: s,
1612
+ thickness: a
1613
+ }), r.createElement(mt, {
1614
+ id: Object(J.a)(e, "line-style-select"),
1615
+ disabled: !o.value(),
1616
+ className: Se.smallStyleControl,
1617
+ lineStyle: l
1618
+ })), r.createElement("div", {
1619
+ className: Be(Se.wrapGroup, Se.defaultSelect, Se.additionalSelect)
1620
+ }, r.createElement(dt.b, {
1621
+ input: {
1622
+ id: "",
1623
+ name: "",
1624
+ type: "float",
1625
+ defval: 0
1626
+ },
1627
+ value: i.value(),
1628
+ disabled: !o.value(),
1629
+ onChange: this._onValueChange
1630
+ }))));
1631
+ }
1632
+
1633
+ }
1634
+
1635
+ wt.contextType = te.b;
1636
+
1637
+ class gt extends r.PureComponent {
1638
+ render() {
1639
+ const {
1640
+ orders: {
1641
+ visible: e,
1642
+ showLabels: t,
1643
+ showQty: n
1644
+ }
1645
+ } = this.props;
1646
+ return r.createElement(r.Fragment, null, r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1647
+ placement: "first",
1648
+ colSpan: 2
1649
+ }, r.createElement(ae, {
1650
+ id: "chart-orders-switch",
1651
+ title: window.t("Trades on Chart"),
1652
+ visible: e
1653
+ }))), r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1654
+ placement: "first",
1655
+ colSpan: 2
1656
+ }, r.createElement(ae, {
1657
+ id: "chart-orders-labels-switch",
1658
+ title: window.t("Signal Labels"),
1659
+ visible: t
1660
+ }))), r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1661
+ placement: "first",
1662
+ colSpan: 2
1663
+ }, r.createElement(ae, {
1664
+ id: "chart-orders-qty-switch",
1665
+ title: window.t("Quantity"),
1666
+ visible: n
1667
+ }))));
1668
+ }
1669
+
1670
+ }
1671
+
1672
+ gt.contextType = te.b;
1673
+ var vt = n("KG+6"),
1674
+ yt = n("kk0y");
1675
+
1676
+ const Ct = [{
1677
+ value: vt.a.LeftToRight,
1678
+ content: window.t("Left")
1679
+ }, {
1680
+ value: vt.a.RightToLeft,
1681
+ content: window.t("Right")
1682
+ }],
1683
+ ft = window.t("Width (% of the Box)"),
1684
+ Et = window.t("Placement"),
1685
+ St = window.t("Show Values"),
1686
+ Pt = window.t("Text Color"),
1687
+ _t = window.t("Change Percent Width"),
1688
+ xt = window.t("Change Placement"),
1689
+ Ot = window.t("Change Show Values");
1690
+
1691
+ class kt extends r.PureComponent {
1692
+ constructor() {
1693
+ super(...arguments), this._onPercentWidthChange = e => {
1694
+ const {
1695
+ setValue: t
1696
+ } = this.context,
1697
+ {
1698
+ percentWidth: n
1699
+ } = this.props.property.childs();
1700
+ t(n, e, _t);
1701
+ }, this._onPlacementChange = e => {
1702
+ const {
1703
+ setValue: t
1704
+ } = this.context,
1705
+ {
1706
+ direction: n
1707
+ } = this.props.property.childs();
1708
+ t(n, e, xt);
1709
+ }, this._onShowValuesChange = e => {
1710
+ const {
1711
+ setValue: t
1712
+ } = this.context,
1713
+ {
1714
+ showValues: n
1715
+ } = this.props.property.childs();
1716
+ t(n, e, Ot);
1717
+ };
1718
+ }
1719
+
1720
+ render() {
1721
+ const {
1722
+ title: e,
1723
+ percentWidth: t,
1724
+ direction: n,
1725
+ showValues: l,
1726
+ valuesColor: a,
1727
+ visible: s
1728
+ } = this.props.property.childs();
1729
+ return r.createElement(r.Fragment, null, r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1730
+ placement: "first",
1731
+ colSpan: 2,
1732
+ grouped: !0
1733
+ }, r.createElement(ae, {
1734
+ id: e.value(),
1735
+ title: e.value(),
1736
+ visible: s
1737
+ }))), r.createElement(T.a, {
1738
+ label: r.createElement("div", {
1739
+ className: Se.childRowContainer
1740
+ }, ft),
1741
+ grouped: !0
1742
+ }, r.createElement(yt.b, {
1743
+ input: {
1744
+ id: "",
1745
+ name: "",
1746
+ type: "integer",
1747
+ defval: 0
1748
+ },
1749
+ value: t.value(),
1750
+ disabled: !s.value(),
1751
+ onChange: this._onPercentWidthChange
1752
+ })), r.createElement(T.a, {
1753
+ label: r.createElement("div", {
1754
+ className: Se.childRowContainer
1755
+ }, Et),
1756
+ grouped: !0
1757
+ }, r.createElement(ze.a, {
1758
+ id: "hhist-graphic-placement-select",
1759
+ disabled: !s.value(),
1760
+ className: Se.defaultSelect,
1761
+ menuItemClassName: Se.defaultSelectItem,
1762
+ items: Ct,
1763
+ value: n.value(),
1764
+ onChange: this._onPlacementChange
1765
+ })), r.createElement(V.a.Row, null, r.createElement(V.a.Cell, {
1766
+ className: Se.childRowContainer,
1767
+ placement: "first",
1768
+ colSpan: 2,
1769
+ grouped: !0
1770
+ }, r.createElement(j.b, {
1771
+ label: St,
1772
+ input: {
1773
+ id: e.value() + "_showValues",
1774
+ type: "bool",
1775
+ defval: !0,
1776
+ name: "visible"
1777
+ },
1778
+ value: !l || l.value(),
1779
+ disabled: !s.value(),
1780
+ onChange: this._onShowValuesChange
1781
+ }))), r.createElement(T.a, {
1782
+ label: r.createElement("div", {
1783
+ className: Se.childRowContainer
1784
+ }, Pt),
1785
+ grouped: !0
1786
+ }, r.createElement(Ee.a, {
1787
+ disabled: s && !s.value(),
1788
+ color: a
1789
+ })), this._renderColors(), r.createElement(V.a.GroupSeparator, null));
1790
+ }
1791
+
1792
+ _renderColors() {
1793
+ const {
1794
+ colors: e,
1795
+ titles: t,
1796
+ transparencies: n,
1797
+ visible: l
1798
+ } = this.props.property.childs();
1799
+ return e.childNames().map(a => r.createElement(T.a, {
1800
+ key: a,
1801
+ grouped: !0,
1802
+ label: r.createElement("div", {
1803
+ className: Se.childRowContainer
1804
+ }, t.childs()[a].value())
1805
+ }, r.createElement(Ee.a, {
1806
+ disabled: !l.value(),
1807
+ color: e.childs()[a],
1808
+ transparency: n.childs()[a]
1809
+ })));
1810
+ }
1811
+
1812
+ }
1813
+
1814
+ kt.contextType = te.b;
1815
+
1816
+ class jt extends r.PureComponent {
1817
+ render() {
1818
+ const {
1819
+ title: e
1820
+ } = this.props,
1821
+ {
1822
+ color: t,
1823
+ transparency: n,
1824
+ width: l,
1825
+ style: a,
1826
+ visible: s
1827
+ } = this.props.property.childs();
1828
+ return r.createElement(T.a, {
1829
+ label: r.createElement(ae, {
1830
+ id: e.value(),
1831
+ title: e.value(),
1832
+ visible: s
1833
+ })
1834
+ }, r.createElement(Ee.a, {
1835
+ disabled: !s.value(),
1836
+ color: t,
1837
+ transparency: n,
1838
+ thickness: l
1839
+ }), r.createElement(mt, {
1840
+ id: Object(J.a)(e.value(), "line-style-select"),
1841
+ disabled: !s.value(),
1842
+ className: Se.smallStyleControl,
1843
+ lineStyle: a
1844
+ }));
1845
+ }
1846
+
1847
+ }
1848
+
1849
+ jt.contextType = te.b;
1850
+
1851
+ class Tt extends r.PureComponent {
1852
+ render() {
1853
+ const {
1854
+ graphicType: e,
1855
+ study: t
1856
+ } = this.props,
1857
+ n = t.metaInfo().graphics,
1858
+ l = t.properties().graphics,
1859
+ a = Object(i.ensureDefined)(n[e]);
1860
+ return Object.keys(a).map((t, n) => {
1861
+ const a = l[e][t];
1862
+ return "horizlines" === e || "vertlines" === e || "lines" === e ? r.createElement(jt, {
1863
+ key: t,
1864
+ title: "lines" === e ? a.title : a.name,
1865
+ property: a
1866
+ }) : "hhists" === e ? r.createElement(kt, {
1867
+ key: t,
1868
+ property: a
1869
+ }) : null;
1870
+ });
1871
+ }
1872
+
1873
+ }
1874
+
1875
+ const Lt = window.t("Change Font"),
1876
+ Nt = ["Verdana", "Courier New", "Times New Roman", "Arial"].map(e => ({
1877
+ value: e,
1878
+ content: e
1879
+ }));
1880
+
1881
+ class Vt extends r.PureComponent {
1882
+ constructor() {
1883
+ super(...arguments), this._onFontFamilyChange = e => {
1884
+ const {
1885
+ setValue: t
1886
+ } = this.context,
1887
+ {
1888
+ fontFamily: n
1889
+ } = this.props;
1890
+ t(n, e, Lt);
1891
+ };
1892
+ }
1893
+
1894
+ render() {
1895
+ const {
1896
+ id: e,
1897
+ fontFamily: t,
1898
+ className: n,
1899
+ disabled: l
1900
+ } = this.props;
1901
+ return r.createElement(ze.a, {
1902
+ id: e,
1903
+ disabled: l,
1904
+ className: De()(n, Se.defaultSelect),
1905
+ menuItemClassName: Se.defaultSelectItem,
1906
+ items: Nt,
1907
+ value: t.value(),
1908
+ onChange: this._onFontFamilyChange
1909
+ });
1910
+ }
1911
+
1912
+ }
1913
+
1914
+ Vt.contextType = te.b;
1915
+ var It = n("UXjO");
1916
+ const Mt = window.t("Change Font Size"),
1917
+ Rt = [10, 11, 12, 14, 16, 20, 24, 28, 32, 40].map(e => ({
1918
+ value: e,
1919
+ title: e.toString()
1920
+ }));
1921
+
1922
+ class Bt extends r.PureComponent {
1923
+ constructor() {
1924
+ super(...arguments), this._onFontSizeChange = e => {
1925
+ const {
1926
+ setValue: t
1927
+ } = this.context,
1928
+ {
1929
+ fontSize: n
1930
+ } = this.props;
1931
+ t(n, e, Mt);
1932
+ };
1933
+ }
1934
+
1935
+ render() {
1936
+ const _this$props3 = this.props,
1937
+ {
1938
+ fontSize: e
1939
+ } = _this$props3,
1940
+ t = _objectWithoutProperties(_this$props3, _excluded3);
1941
+
1942
+ return r.createElement(It.a, _objectSpread(_objectSpread({}, t), {}, {
1943
+ fontSizes: Rt,
1944
+ fontSize: e.value(),
1945
+ fontSizeChange: this._onFontSizeChange
1946
+ }));
1947
+ }
1948
+
1949
+ }
1950
+
1951
+ Bt.contextType = te.b;
1952
+ const Dt = window.t("Change Visibility"),
1953
+ Ft = window.t("Labels Font"),
1954
+ zt = window.t("Show Labels"),
1955
+ Ht = {
1956
+ Traditional: new Set(["S5/R5", "S4/R4", "S3/R3", "S2/R2", "S1/R1", "P"]),
1957
+ Fibonacci: new Set(["S3/R3", "S2/R2", "S1/R1", "P"]),
1958
+ Woodie: new Set(["S4/R4", "S3/R3", "S2/R2", "S1/R1", "P"]),
1959
+ Classic: new Set(["S4/R4", "S3/R3", "S2/R2", "S1/R1", "P"]),
1960
+ DM: new Set(["S1/R1", "P"]),
1961
+ DeMark: new Set(["S1/R1", "P"]),
1962
+ Camarilla: new Set(["S4/R4", "S3/R3", "S2/R2", "S1/R1", "P"])
1963
+ };
1964
+
1965
+ class Wt extends s.a.PureComponent {
1966
+ constructor() {
1967
+ super(...arguments), this._onChange = e => {
1968
+ const {
1969
+ setValue: t
1970
+ } = this.context,
1971
+ {
1972
+ levelsStyle: n
1973
+ } = this.props.property.childs(),
1974
+ {
1975
+ showLabels: l
1976
+ } = n.childs();
1977
+ t(l, e, Dt);
1978
+ };
1979
+ }
1980
+
1981
+ render() {
1982
+ const {
1983
+ font: e,
1984
+ fontsize: t,
1985
+ levelsStyle: n
1986
+ } = this.props.property.childs();
1987
+ return s.a.createElement(s.a.Fragment, null, s.a.createElement(T.a, {
1988
+ labelAlign: "adaptive",
1989
+ label: s.a.createElement("span", null, Ft)
1990
+ }, s.a.createElement("div", {
1991
+ className: Se.block
1992
+ }, s.a.createElement("div", {
1993
+ className: Se.group
1994
+ }, s.a.createElement(Vt, {
1995
+ id: "pivot-points-standard-font-family-select",
1996
+ fontFamily: e
1997
+ })), s.a.createElement("div", {
1998
+ className: Be(Se.wrapGroup, Se.additionalSelect)
1999
+ }, s.a.createElement(Bt, {
2000
+ id: "pivot-points-standard-font-size-select",
2001
+ fontSize: t
2002
+ })))), s.a.createElement(V.a.Row, null, s.a.createElement(V.a.Cell, {
2003
+ placement: "first",
2004
+ colSpan: 2
2005
+ }, s.a.createElement(j.b, {
2006
+ label: zt,
2007
+ input: {
2008
+ id: "ShowLabels",
2009
+ type: "bool",
2010
+ defval: !0,
2011
+ name: "visible"
2012
+ },
2013
+ value: n.childs().showLabels.value(),
2014
+ onChange: this._onChange
2015
+ }))), this._renderColors());
2016
+ }
2017
+
2018
+ _renderColors() {
2019
+ const {
2020
+ levelsStyle: e,
2021
+ inputs: t
2022
+ } = this.props.property.childs(),
2023
+ {
2024
+ colors: n,
2025
+ widths: l,
2026
+ visibility: a
2027
+ } = e.childs(),
2028
+ {
2029
+ kind: r
2030
+ } = t.childs(),
2031
+ o = Object(i.ensureDefined)(Ht[r.value()]);
2032
+ return n.childNames().filter(e => o.has(e)).map(e => s.a.createElement(Ve, {
2033
+ key: e,
2034
+ id: e,
2035
+ title: e,
2036
+ color: n.childs()[e],
2037
+ visible: a.childs()[e],
2038
+ thickness: l.childs()[e]
2039
+ }));
2040
+ }
2041
+
2042
+ }
2043
+
2044
+ Wt.contextType = te.b;
2045
+ const Gt = Object(l.t)("Change Visibility"),
2046
+ At = Object(l.t)("Volume Profile"),
2047
+ Ut = Object(l.t)("Show Values"),
2048
+ qt = Object(l.t)("Width (% of the Box)"),
2049
+ $t = Object(l.t)("Placement"),
2050
+ Kt = Object(l.t)("Developing VA"),
2051
+ Yt = [{
2052
+ value: vt.a.RightToLeft,
2053
+ content: Object(l.t)("Right")
2054
+ }, {
2055
+ value: vt.a.LeftToRight,
2056
+ content: Object(l.t)("Left")
2057
+ }];
2058
+
2059
+ class Qt extends s.a.PureComponent {
2060
+ constructor() {
2061
+ super(...arguments), this._onChange = e => {
2062
+ this._setHhistsProperty("visible", e);
2063
+ }, this._onShowValuesChange = e => {
2064
+ this._setHhistsProperty("showValues", e);
2065
+ }, this._onValueChange = e => {
2066
+ this._setHhistsProperty("percentWidth", e);
2067
+ }, this._onDirectionChange = e => {
2068
+ this._setHhistsProperty("direction", e);
2069
+ };
2070
+ }
2071
+
2072
+ render() {
2073
+ var e, t;
2074
+
2075
+ const {
2076
+ metaInfo: n
2077
+ } = this.props,
2078
+ {
2079
+ graphics: a,
2080
+ styles: r
2081
+ } = this.props.property.childs(),
2082
+ {
2083
+ hhists: o,
2084
+ horizlines: c,
2085
+ polygons: p
2086
+ } = a.childs(),
2087
+ d = Object(i.ensureDefined)(n.graphics.hhists),
2088
+ h = Object.keys(d),
2089
+ u = o.childs()[h[0]],
2090
+ m = u.childs().visible,
2091
+ b = h.map(e => o.childs()[e].childs().showValues),
2092
+ w = u.childs().percentWidth,
2093
+ g = u.childs().direction,
2094
+ v = h.map(e => o.childs()[e].childs().valuesColor),
2095
+ y = c.childs().pocLines,
2096
+ C = Object(i.ensureDefined)(null === (e = n.graphics.horizlines) || void 0 === e ? void 0 : e.pocLines),
2097
+ f = r.childs().developingPoc,
2098
+ E = Object(i.ensureDefined)(null === (t = n.styles) || void 0 === t ? void 0 : t.developingPoc),
2099
+ S = r.childs().developingVAHigh,
2100
+ P = r.childs().developingVALow,
2101
+ _ = n.graphics.polygons && n.graphics.polygons.histBoxBg;
2102
+
2103
+ return s.a.createElement(s.a.Fragment, null, s.a.createElement(V.a.Row, null, s.a.createElement(V.a.Cell, {
2104
+ placement: "first",
2105
+ colSpan: 2
2106
+ }, s.a.createElement(j.b, {
2107
+ label: At,
2108
+ input: {
2109
+ id: "VolumeProfile",
2110
+ type: "bool",
2111
+ defval: !0,
2112
+ name: "visible"
2113
+ },
2114
+ value: m.value(),
2115
+ onChange: this._onChange
2116
+ }))), s.a.createElement(V.a.Row, null, s.a.createElement(V.a.Cell, {
2117
+ placement: "first"
2118
+ }, s.a.createElement("div", {
2119
+ className: Se.childRowContainer
2120
+ }, s.a.createElement(j.b, {
2121
+ disabled: !m.value(),
2122
+ label: Ut,
2123
+ input: {
2124
+ id: "ShowValues",
2125
+ type: "bool",
2126
+ defval: !0,
2127
+ name: "visible"
2128
+ },
2129
+ value: b[0].value(),
2130
+ onChange: this._onShowValuesChange
2131
+ }))), s.a.createElement(V.a.Cell, {
2132
+ placement: "last"
2133
+ }, s.a.createElement(Ee.a, {
2134
+ disabled: !m.value() || !b[0].value(),
2135
+ color: v
2136
+ }))), s.a.createElement(V.a.Row, null, s.a.createElement(V.a.Cell, {
2137
+ placement: "first"
2138
+ }, s.a.createElement("div", {
2139
+ className: Se.childRowContainer
2140
+ }, qt)), s.a.createElement(V.a.Cell, {
2141
+ placement: "last"
2142
+ }, s.a.createElement(yt.b, {
2143
+ disabled: !m.value(),
2144
+ input: {
2145
+ id: "",
2146
+ name: "",
2147
+ type: "integer",
2148
+ defval: 0
2149
+ },
2150
+ value: w.value(),
2151
+ onChange: this._onValueChange
2152
+ }))), s.a.createElement(V.a.Row, null, s.a.createElement(V.a.Cell, {
2153
+ placement: "first"
2154
+ }, s.a.createElement("div", {
2155
+ className: Se.childRowContainer
2156
+ }, $t)), s.a.createElement(V.a.Cell, {
2157
+ placement: "last"
2158
+ }, s.a.createElement(ze.a, {
2159
+ id: "hhist-direction-select",
2160
+ disabled: !m.value(),
2161
+ className: Se.defaultSelect,
2162
+ menuItemClassName: Se.defaultSelectItem,
2163
+ items: Yt,
2164
+ value: g.value(),
2165
+ onChange: this._onDirectionChange
2166
+ }))), h.map(e => s.a.createElement(s.a.Fragment, {
2167
+ key: e
2168
+ }, o.childs()[e].childs().colors.childNames().map((t, n) => {
2169
+ const a = d[e];
2170
+ return s.a.createElement(T.a, {
2171
+ key: n,
2172
+ label: s.a.createElement("div", {
2173
+ className: Se.childRowContainer
2174
+ }, a && Object(l.t)(a.titles[n]) || "")
2175
+ }, s.a.createElement(Ee.a, {
2176
+ disabled: !m.value(),
2177
+ color: o.childs()[e].childs().colors.childs()[n],
2178
+ transparency: o.childs()[e].childs().transparencies.childs()[n]
2179
+ }));
2180
+ }))), s.a.createElement(Ve, {
2181
+ id: "pocLines",
2182
+ title: C.name,
2183
+ color: y.childs().color,
2184
+ visible: y.childs().visible,
2185
+ thickness: y.childs().width
2186
+ }, s.a.createElement(mt, {
2187
+ id: "poc-lines-line-style-select",
2188
+ disabled: !y.childs().visible.value(),
2189
+ className: Se.smallStyleControl,
2190
+ lineStyle: y.childs().style
2191
+ })), f && s.a.createElement(Ve, {
2192
+ id: "developingPoc",
2193
+ title: E.title && Object(l.t)(E.title) || "",
2194
+ color: f.childs().color,
2195
+ visible: f.childs().visible,
2196
+ thickness: f.childs().linewidth
2197
+ }, s.a.createElement(mt, {
2198
+ id: "developing-poc-line-style-select",
2199
+ disabled: !f.childs().visible.value(),
2200
+ className: Se.smallStyleControl,
2201
+ lineStyle: f.childs().linestyle
2202
+ })), S && P && s.a.createElement(Ve, {
2203
+ id: "developingPoc",
2204
+ title: Kt,
2205
+ color: [S.childs().color, P.childs().color],
2206
+ visible: [S.childs().visible, P.childs().visible],
2207
+ thickness: [S.childs().linewidth, P.childs().linewidth]
2208
+ }, s.a.createElement(mt, {
2209
+ id: "developing-VA-line-style-select",
2210
+ disabled: !S.childs().visible.value() && !P.childs().visible.value(),
2211
+ className: Se.smallStyleControl,
2212
+ lineStyle: [S.childs().linestyle, P.childs().linestyle]
2213
+ })), p && s.a.createElement(T.a, {
2214
+ label: s.a.createElement("div", null, _ && Object(l.t)(_.name) || "")
2215
+ }, s.a.createElement(Ee.a, {
2216
+ color: p.childs().histBoxBg.childs().color,
2217
+ transparency: p.childs().histBoxBg.childs().transparency
2218
+ })));
2219
+ }
2220
+
2221
+ _setHhistsProperty(e, t) {
2222
+ const {
2223
+ setValue: n
2224
+ } = this.context,
2225
+ {
2226
+ metaInfo: l,
2227
+ property: a
2228
+ } = this.props,
2229
+ r = a.childs().graphics.childs().hhists,
2230
+ s = Object.keys(Object(i.ensureDefined)(l.graphics.hhists));
2231
+
2232
+ for (let l = 0; l < s.length; l++) {
2233
+ const a = r.childs()[s[l]].child(e);
2234
+ n(Object(i.ensureDefined)(a), t, Gt);
2235
+ }
2236
+ }
2237
+
2238
+ }
2239
+
2240
+ function Jt() {
2241
+ const e = Object(i.ensureNotNull)(Object(r.useContext)(Ne)),
2242
+ t = e.metaInfo(),
2243
+ n = e.properties();
2244
+ return s.a.createElement(Qt, {
2245
+ metaInfo: t,
2246
+ property: n
2247
+ });
2248
+ }
2249
+
2250
+ Qt.contextType = te.b;
2251
+ var Xt = n("KJt4");
2252
+ const Zt = {
2253
+ VbPFixed: Jt,
2254
+ PivotPointsStandard: function PivotPointsStandard() {
2255
+ const e = Object(i.ensureNotNull)(Object(r.useContext)(Ne)).properties();
2256
+ return s.a.createElement(Wt, {
2257
+ property: e
2258
+ });
2259
+ },
2260
+ VbPVisible: Jt
2261
+ };
2262
+
2263
+ class en extends r.PureComponent {
2264
+ render() {
2265
+ const e = Object(i.ensureNotNull)(this.context);
2266
+ return r.createElement(Ne.Consumer, null, t => r.createElement(te.a, {
2267
+ property: Object(i.ensureNotNull)(t).properties(),
2268
+ model: e
2269
+ }, r.createElement(V.a, null, this._renderCustomContent(Object(i.ensureNotNull)(t).metaInfo().shortId))));
2270
+ }
2271
+
2272
+ _renderCustomContent(e) {
2273
+ if (e in Zt) {
2274
+ const t = Zt[e];
2275
+ return r.createElement(t, null);
2276
+ }
2277
+
2278
+ return null;
2279
+ }
2280
+
2281
+ }
2282
+
2283
+ en.contextType = Xt.a;
2284
+ var tn = n("Ecpn");
2285
+ const nn = window.t("Default"),
2286
+ ln = window.t("Precision"),
2287
+ an = window.t("Change Precision"),
2288
+ rn = [{
2289
+ value: "default",
2290
+ content: nn
2291
+ }];
2292
+
2293
+ for (let e = 0; e <= 8; e++) rn.push({
2294
+ value: e,
2295
+ content: e.toString()
2296
+ });
2297
+
2298
+ class sn extends r.PureComponent {
2299
+ constructor() {
2300
+ super(...arguments), this._onChange = e => {
2301
+ const {
2302
+ setValue: t
2303
+ } = this.context,
2304
+ {
2305
+ precision: n
2306
+ } = this.props;
2307
+ t(n, e, an);
2308
+ };
2309
+ }
2310
+
2311
+ render() {
2312
+ const {
2313
+ id: e,
2314
+ precision: t
2315
+ } = this.props;
2316
+ return r.createElement(T.a, {
2317
+ label: ln
2318
+ }, r.createElement(ze.a, {
2319
+ id: e,
2320
+ className: Se.defaultSelect,
2321
+ menuItemClassName: Se.defaultSelectItem,
2322
+ items: rn,
2323
+ value: t.value(),
2324
+ onChange: this._onChange
2325
+ }));
2326
+ }
2327
+
2328
+ }
2329
+
2330
+ sn.contextType = te.b;
2331
+ const on = window.t("Default"),
2332
+ cn = window.t("Override Min Tick"),
2333
+ pn = window.t("Change Min Tick"),
2334
+ dn = [{
2335
+ priceScale: 1,
2336
+ minMove: 1,
2337
+ frac: !1
2338
+ }, {
2339
+ priceScale: 10,
2340
+ minMove: 1,
2341
+ frac: !1
2342
+ }, {
2343
+ priceScale: 100,
2344
+ minMove: 1,
2345
+ frac: !1
2346
+ }, {
2347
+ priceScale: 1e3,
2348
+ minMove: 1,
2349
+ frac: !1
2350
+ }, {
2351
+ priceScale: 1e4,
2352
+ minMove: 1,
2353
+ frac: !1
2354
+ }, {
2355
+ priceScale: 1e5,
2356
+ minMove: 1,
2357
+ frac: !1
2358
+ }, {
2359
+ priceScale: 1e6,
2360
+ minMove: 1,
2361
+ frac: !1
2362
+ }, {
2363
+ priceScale: 1e7,
2364
+ minMove: 1,
2365
+ frac: !1
2366
+ }, {
2367
+ priceScale: 1e8,
2368
+ minMove: 1,
2369
+ frac: !1
2370
+ }, {
2371
+ priceScale: 2,
2372
+ minMove: 1,
2373
+ frac: !0
2374
+ }, {
2375
+ priceScale: 4,
2376
+ minMove: 1,
2377
+ frac: !0
2378
+ }, {
2379
+ priceScale: 8,
2380
+ minMove: 1,
2381
+ frac: !0
2382
+ }, {
2383
+ priceScale: 16,
2384
+ minMove: 1,
2385
+ frac: !0
2386
+ }, {
2387
+ priceScale: 32,
2388
+ minMove: 1,
2389
+ frac: !0
2390
+ }, {
2391
+ priceScale: 64,
2392
+ minMove: 1,
2393
+ frac: !0
2394
+ }, {
2395
+ priceScale: 128,
2396
+ minMove: 1,
2397
+ frac: !0
2398
+ }, {
2399
+ priceScale: 320,
2400
+ minMove: 1,
2401
+ frac: !0
2402
+ }],
2403
+ hn = [{
2404
+ id: "tick-default",
2405
+ value: "default",
2406
+ content: on
2407
+ }];
2408
+
2409
+ for (let e = 0; e < dn.length; e++) {
2410
+ const t = dn[e];
2411
+ hn.push({
2412
+ value: t.priceScale + "," + t.minMove + "," + t.frac,
2413
+ content: t.minMove + "/" + t.priceScale
2414
+ });
2415
+ }
2416
+
2417
+ class un extends r.PureComponent {
2418
+ constructor() {
2419
+ super(...arguments), this._onChange = e => {
2420
+ const {
2421
+ setValue: t
2422
+ } = this.context,
2423
+ {
2424
+ minTick: n
2425
+ } = this.props;
2426
+ t(n, e, pn);
2427
+ };
2428
+ }
2429
+
2430
+ render() {
2431
+ const {
2432
+ id: e,
2433
+ minTick: t
2434
+ } = this.props;
2435
+ return r.createElement(T.a, {
2436
+ label: cn
2437
+ }, r.createElement(ze.a, {
2438
+ id: e,
2439
+ className: Se.defaultSelect,
2440
+ menuItemClassName: Se.defaultSelectItem,
2441
+ items: hn,
2442
+ value: t.value(),
2443
+ onChange: this._onChange
2444
+ }));
2445
+ }
2446
+
2447
+ }
2448
+
2449
+ un.contextType = te.b;
2450
+ var mn = n("5YG5");
2451
+
2452
+ class bn extends r.PureComponent {
2453
+ constructor() {
2454
+ super(...arguments), this._findPlotPalettes = e => {
2455
+ const {
2456
+ study: t
2457
+ } = this.props,
2458
+ n = t.metaInfo(),
2459
+ l = Object(i.ensureDefined)(n.palettes);
2460
+ return Object(X.isBarColorerPlot)(e) || Object(X.isBgColorerPlot)(e) ? {
2461
+ main: {
2462
+ palette: l[e.palette],
2463
+ paletteProps: t.properties().palettes[e.palette]
2464
+ }
2465
+ } : this._findPalettesByTargetId(e.id);
2466
+ };
2467
+ }
2468
+
2469
+ render() {
2470
+ const {
2471
+ study: e
2472
+ } = this.props,
2473
+ t = e.metaInfo();
2474
+ if (Object(tn.a)(t.shortId)) return r.createElement(en, null);
2475
+ const n = e.properties(),
2476
+ {
2477
+ precision: l,
2478
+ strategy: a,
2479
+ minTick: s
2480
+ } = n,
2481
+ i = t.plots.length > 0,
2482
+ o = Object(mn.a)(e).canOverrideMinTick();
2483
+ return r.createElement(V.a, null, this._plotsElement(), this._bandsElement(), this._bandsBackgroundsElement(), this._areasBackgroundsElement(), this._filledAreasElement(), this._graphicsElement(), i && r.createElement(sn, {
2484
+ id: Object(J.a)(t.id, "precision-select"),
2485
+ precision: l
2486
+ }), o && r.createElement(un, {
2487
+ id: Object(J.a)(t.id, "min-tick-select"),
2488
+ minTick: s
2489
+ }), ee.a.isScriptStrategy(t) && r.createElement(gt, {
2490
+ orders: a.orders
2491
+ }));
2492
+ }
2493
+
2494
+ _plotsElement() {
2495
+ const {
2496
+ study: e
2497
+ } = this.props,
2498
+ t = e.metaInfo();
2499
+ return new U.a(t).getUserEditablePlots().filter(e => !(Object(X.isUpColorerPlot)(e) || Object(X.isDownColorerPlot)(e) || Object(X.isCandleBorderColorerPlot)(e) || Object(X.isCandleWickColorerPlot)(e))).map(t => {
2500
+ const n = Object(X.isOhlcPlot)(t) ? _objectSpread(_objectSpread({}, t), {}, {
2501
+ id: t.target
2502
+ }) : t,
2503
+ l = this._findPlotPalettes(n);
2504
+
2505
+ return r.createElement(ct, {
2506
+ key: t.id,
2507
+ plot: t,
2508
+ palettes: l,
2509
+ study: e
2510
+ });
2511
+ });
2512
+ }
2513
+
2514
+ _bandsElement() {
2515
+ const {
2516
+ study: e
2517
+ } = this.props,
2518
+ t = e.properties(),
2519
+ {
2520
+ bands: n
2521
+ } = t;
2522
+ return n && n.childNames().map((e, t) => {
2523
+ const l = n.child(e);
2524
+ if (!l.isHidden || !l.isHidden.value()) return r.createElement(wt, {
2525
+ key: t,
2526
+ id: l.name.value(),
2527
+ property: l
2528
+ });
2529
+ });
2530
+ }
2531
+
2532
+ _bandsBackgroundsElement() {
2533
+ const {
2534
+ study: e
2535
+ } = this.props,
2536
+ t = e.properties(),
2537
+ {
2538
+ bandsBackground: n
2539
+ } = t;
2540
+ return n && r.createElement(Ve, {
2541
+ id: "bandsBackground",
2542
+ title: "Background",
2543
+ visible: n.fillBackground,
2544
+ color: n.backgroundColor,
2545
+ transparency: n.transparency
2546
+ });
2547
+ }
2548
+
2549
+ _areasBackgroundsElement() {
2550
+ const {
2551
+ study: e
2552
+ } = this.props,
2553
+ t = e.metaInfo(),
2554
+ n = e.properties(),
2555
+ {
2556
+ areaBackground: l
2557
+ } = n;
2558
+ return t.isRGB ? null : l && r.createElement(Ve, {
2559
+ id: "areaBackground",
2560
+ title: "Background",
2561
+ visible: l.fillBackground,
2562
+ color: l.backgroundColor,
2563
+ transparency: l.transparency
2564
+ });
2565
+ }
2566
+
2567
+ _filledAreasElement() {
2568
+ const {
2569
+ study: e
2570
+ } = this.props,
2571
+ t = e.metaInfo(),
2572
+ n = t.filledAreas;
2573
+ return !n || t.isRGB ? [] : n.map(t => {
2574
+ if (t.isHidden) return null;
2575
+ const n = e.properties().filledAreasStyle[t.id],
2576
+ l = t.title || "Background";
2577
+
2578
+ if (t.palette) {
2579
+ const e = this._findPalettesByTargetId(t.id),
2580
+ l = Object(i.ensureDefined)(e.main);
2581
+
2582
+ return r.createElement(Oe, {
2583
+ key: t.id,
2584
+ area: t,
2585
+ palette: Object(i.ensureDefined)(l.palette),
2586
+ paletteProps: Object(i.ensureDefined)(l.paletteProps),
2587
+ styleProp: n
2588
+ });
2589
+ }
2590
+
2591
+ return r.createElement(Ve, {
2592
+ key: t.id,
2593
+ id: t.id,
2594
+ title: l,
2595
+ color: n.color,
2596
+ visible: n.visible,
2597
+ transparency: n.transparency
2598
+ });
2599
+ });
2600
+ }
2601
+
2602
+ _graphicsElement() {
2603
+ const {
2604
+ study: e
2605
+ } = this.props,
2606
+ t = e.metaInfo().graphics;
2607
+ return t && Object.keys(t).map((t, n) => r.createElement(Tt, {
2608
+ key: t,
2609
+ graphicType: t,
2610
+ study: e
2611
+ }));
2612
+ }
2613
+
2614
+ _findPalettesByTargetId(e) {
2615
+ const {
2616
+ study: t
2617
+ } = this.props,
2618
+ n = t.metaInfo(),
2619
+ l = n.plots,
2620
+ a = Object(i.ensureDefined)(n.palettes),
2621
+ r = {};
2622
+
2623
+ for (const n of l) (Object(X.isColorerPlot)(n) || Object(X.isOhlcColorerPlot)(n)) && n.target === e && (r.main = {
2624
+ palette: a[n.palette],
2625
+ paletteProps: t.properties().palettes[n.palette]
2626
+ }), Object(X.isUpColorerPlot)(n) && n.target === e && (r.up = {
2627
+ palette: a[n.palette],
2628
+ paletteProps: t.properties().palettes[n.palette]
2629
+ }), Object(X.isDownColorerPlot)(n) && n.target === e && (r.down = {
2630
+ palette: a[n.palette],
2631
+ paletteProps: t.properties().palettes[n.palette]
2632
+ }), Object(X.isCandleWickColorerPlot)(n) && n.target === e && (r.wick = {
2633
+ palette: a[n.palette],
2634
+ paletteProps: t.properties().palettes[n.palette]
2635
+ }), Object(X.isCandleBorderColorerPlot)(n) && n.target === e && (r.border = {
2636
+ palette: a[n.palette],
2637
+ paletteProps: t.properties().palettes[n.palette]
2638
+ });
2639
+
2640
+ return r;
2641
+ }
2642
+
2643
+ }
2644
+
2645
+ function wn(e) {
2646
+ return Object(te.c)(bn, _objectSpread(_objectSpread({}, e), {}, {
2647
+ property: e.study.properties()
2648
+ }));
2649
+ }
2650
+
2651
+ class gn extends r.PureComponent {
2652
+ render() {
2653
+ return r.createElement(Xt.a.Provider, {
2654
+ value: this.props.model
2655
+ }, r.createElement(Ne.Provider, {
2656
+ value: this.props.source
2657
+ }, r.createElement(wn, {
2658
+ study: this.props.source
2659
+ })));
2660
+ }
2661
+
2662
+ }
2663
+
2664
+ var vn = n("1yQO"),
2665
+ yn = n("sQaR"),
2666
+ Cn = n("lgIt");
2667
+ n.d(t, "EditObjectDialogRenderer", function () {
2668
+ return fn;
2669
+ });
2670
+
2671
+ class fn extends yn.a {
2672
+ constructor(e, t, n, l) {
2673
+ super(), this._timeout = null, this._handleClose = () => {
2674
+ a.unmountComponentAtNode(this._container), this._setVisibility(!1), this._subscription.unsubscribe(this, this._handleCollectionChanged);
2675
+ }, this._handleCancel = () => {
2676
+ this._model.undoToCheckpoint(this._checkpoint);
2677
+ }, this._handleSubmit = () => {}, this._handleActiveTabChanged = e => {
2678
+ c.setValue(this._activeTabSettingsName(), e);
2679
+ }, this._source = e, this._model = t, this._propertyPages = l, this._checkpoint = this._ensureCheckpoint(n), this._subscription = this._model.model().dataSourceCollectionChanged(), this._subscription.subscribe(this, this._handleCollectionChanged);
2680
+ }
2681
+
2682
+ hide(e) {
2683
+ e ? this._handleCancel() : this._handleSubmit(), this._handleClose();
2684
+ }
2685
+
2686
+ isVisible() {
2687
+ return this.visible().value();
2688
+ }
2689
+
2690
+ show() {
2691
+ let e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2692
+ if (!p.enabled("property_pages")) return;
2693
+
2694
+ const t = this._source.metaInfo();
2695
+
2696
+ if (Object(C.isLineTool)(this._source) && Object(h.trackEvent)("GUI", "Drawing Properties", this._source.name()), Object(v.isStudy)(this._source)) {
2697
+ const e = !this._source.isPine() || this._source.isStandardPine() ? t.description : "Custom Pine";
2698
+ Object(h.trackEvent)("GUI", "Study Properties", e);
2699
+ }
2700
+
2701
+ let n = {
2702
+ byId: {
2703
+ inputs: {
2704
+ title: window.t("Inputs"),
2705
+ Component: Q
2706
+ },
2707
+ style: {
2708
+ title: window.t("Style"),
2709
+ Component: gn
2710
+ },
2711
+ properties: {
2712
+ title: window.t("Properties"),
2713
+ Component: K
2714
+ }
2715
+ },
2716
+ allIds: []
2717
+ };
2718
+ const l = new U.a(t);
2719
+ l.hasUserEditableInputs() && n.allIds.push("inputs"), l.hasUserEditableProperties() && n.allIds.push("properties"), l.hasUserEditableStyles() && n.allIds.push("style"), this._propertyPages || (n.byId.visibilities = {
2720
+ title: window.t("Visibility"),
2721
+ page: this._createVisibilitiesPropertyPage()
2722
+ }, n.allIds.push("visibilities")), n = this._getPagesForStudyLineTool(n);
2723
+ const s = e.initialTab || c.getValue(this._activeTabSettingsName()) || "inputs";
2724
+ let i = Object(o.clean)(t.shortDescription, !0);
2725
+ a.render(r.createElement(S, {
2726
+ title: i,
2727
+ model: this._model,
2728
+ source: this._source,
2729
+ initialActiveTab: n.allIds.includes(s) ? s : n.allIds[0],
2730
+ pages: n,
2731
+ onSubmit: this._handleSubmit,
2732
+ onCancel: this._handleCancel,
2733
+ onClose: this._handleClose,
2734
+ onActiveTabChanged: this._handleActiveTabChanged
2735
+ }), this._container), this._setVisibility(!0), d.emit("edit_object_dialog", {
2736
+ objectType: "study",
2737
+ scriptTitle: this._source.title()
2738
+ });
2739
+ }
2740
+
2741
+ _createVisibilitiesPropertyPage() {
2742
+ const e = this._source.properties().childs().intervalsVisibilities.childs();
2743
+
2744
+ return Object(vn.a)(Object(Cn.a)(this._model, e, this._source.title(!0)), "visibility", window.t("Visibility"));
2745
+ }
2746
+
2747
+ _activeTabSettingsName() {
2748
+ return "properties_dialog.active_tab.study";
2749
+ }
2750
+
2751
+ _ensureCheckpoint(e) {
2752
+ return void 0 === e && (e = this._model.createUndoCheckpoint()), e;
2753
+ }
2754
+
2755
+ _getPagesForStudyLineTool(e) {
2756
+ if (this._propertyPages) {
2757
+ const t = this._propertyPages.filter(e => "coordinates" === e.id || "visibility" === e.id),
2758
+ n = {
2759
+ allIds: t.map(e => e.id),
2760
+ byId: t.reduce((e, t) => _objectSpread(_objectSpread({}, e), {}, {
2761
+ [t.id]: {
2762
+ title: t.title,
2763
+ page: t
2764
+ }
2765
+ }), {})
2766
+ };
2767
+
2768
+ return {
2769
+ allIds: [...e.allIds, ...n.allIds],
2770
+ byId: _objectSpread(_objectSpread({}, e.byId), n.byId)
2771
+ };
2772
+ }
2773
+
2774
+ return e;
2775
+ }
2776
+
2777
+ _handleCollectionChanged() {
2778
+ null === this._timeout && (this._timeout = setTimeout(() => {
2779
+ this._closeDialogIfSourceIsDeleted(), this._timeout = null;
2780
+ }));
2781
+ }
2782
+
2783
+ _closeDialogIfSourceIsDeleted() {
2784
+ null === this._model.model().dataSourceForId(this._source.id()) && this._handleClose();
2785
+ }
2786
+
2787
+ }
2788
+ },
2789
+ ZtdB: function ZtdB(e, t) {
2790
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path stroke="currentColor" d="M4.5 20v-7m3 7V10m3 10V8m3 12V10m3 10v-8m3 8V10m3 10V8"/></svg>';
2791
+ },
2792
+ br6c: function br6c(e, t) {
2793
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><circle stroke="currentColor" cx="14" cy="14" r="6.5"/></svg>';
2794
+ },
2795
+ flzi: function flzi(e, t) {
2796
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M19.424 16.735l.478.765H8.098l.478-.765 5-8L14 8.057l.424.678 5 8z"/></svg>';
2797
+ },
2798
+ iB0j: function iB0j(e, t) {
2799
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path stroke="currentColor" d="M9 9l11 11M9 20L20 9"/></svg>';
2800
+ },
2801
+ kBAl: function kBAl(e, t) {
2802
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path fill="currentColor" fill-rule="evenodd" d="M9.8 2.7l.7-.7.7.7 2.1 2.1.2.2H18v9.5l.2.2 2.1 2.1.2.2H24v1h-3.5l-.2.2-2.1 2.1-.7.7-.7-.7-2.1-2.1-.7-.7.7-.7 2.1-2.1.2-.2V6h-3.5l-.2.2-2.1 2.1-.2.2V24H5.5v-1H10V8.5l-.2-.2-2.1-2.1-.7-.7.7-.7 2.1-2.1zM8.4 5.5l2.09 2.09 2.09-2.09-2.09-2.09L8.41 5.5zm9.09 14.09l-2.09-2.09 2.09-2.09 2.09 2.09-2.09 2.09z"/></svg>';
2803
+ },
2804
+ kMtk: function kMtk(e, t) {
2805
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M11 8.5h-.5v9.707l.146.147 3 3 .354.353.354-.353 3-3 .146-.147V8.5H11z"/></svg>';
2806
+ },
2807
+ lOpG: function lOpG(e, t) {
2808
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M14 7l7.424 6.114a.5.5 0 0 1-.318.886H18.5v7h-9v-7H6.894a.5.5 0 0 1-.318-.886L14 7z"/></svg>';
2809
+ },
2810
+ leq5: function leq5(e, t) {
2811
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M19.424 11.265l.478-.765H8.098l.478.765 5 8 .424.678.424-.678 5-8z"/></svg>';
2812
+ },
2813
+ lgIt: function lgIt(e, t, n) {
2814
+ "use strict";
2815
+
2816
+ n.d(t, "a", function () {
2817
+ return f;
2818
+ });
2819
+ var l = n("Kxc7"),
2820
+ a = n("HSjo"),
2821
+ r = n("hY0g"),
2822
+ s = n.n(r),
2823
+ i = n("pPtI");
2824
+ const o = window.t("Ticks"),
2825
+ c = window.t("Seconds"),
2826
+ p = window.t("Minutes"),
2827
+ d = window.t("Hours"),
2828
+ h = window.t("Days"),
2829
+ u = window.t("Weeks"),
2830
+ m = window.t("Months"),
2831
+ b = (window.t("Ranges"), [1, 59]),
2832
+ w = [1, 59],
2833
+ g = [1, 24],
2834
+ v = [1, 366],
2835
+ y = [1, 52],
2836
+ C = [1, 12];
2837
+
2838
+ function f(e, t, n) {
2839
+ const r = [];
2840
+
2841
+ if (l.enabled("tick_resolution")) {
2842
+ const l = Object(a.c)({
2843
+ checked: Object(a.b)(e, t.ticks, "Change ".concat(n, " Visibility On Ticks"))
2844
+ }, {
2845
+ id: "IntervalsVisibilitiesTicks",
2846
+ title: o
2847
+ });
2848
+ r.push(l);
2849
+ }
2850
+
2851
+ if (Object(i.isSecondsEnabled)()) {
2852
+ const l = Object(a.n)({
2853
+ checked: Object(a.b)(e, t.seconds, "Change ".concat(n, " Visibility On Seconds")),
2854
+ from: Object(a.b)(e, t.secondsFrom, "Change ".concat(n, " Seconds From")),
2855
+ to: Object(a.b)(e, t.secondsTo, "Change ".concat(n, " Seconds To"))
2856
+ }, {
2857
+ id: "IntervalsVisibilitiesSecond",
2858
+ title: c,
2859
+ min: new s.a(b[0]),
2860
+ max: new s.a(b[1])
2861
+ });
2862
+ r.push(l);
2863
+ }
2864
+
2865
+ const f = Object(a.n)({
2866
+ checked: Object(a.b)(e, t.minutes, "Change ".concat(n, " Visibility On Minutes")),
2867
+ from: Object(a.b)(e, t.minutesFrom, "Change ".concat(n, " Minutes From")),
2868
+ to: Object(a.b)(e, t.minutesTo, "Change ".concat(n, " Minutes To"))
2869
+ }, {
2870
+ id: "IntervalsVisibilitiesMinutes",
2871
+ title: p,
2872
+ min: new s.a(w[0]),
2873
+ max: new s.a(w[1])
2874
+ }),
2875
+ E = Object(a.n)({
2876
+ checked: Object(a.b)(e, t.hours, "Change ".concat(n, " Visibility On Hours")),
2877
+ from: Object(a.b)(e, t.hoursFrom, "Change ".concat(n, " Hours From")),
2878
+ to: Object(a.b)(e, t.hoursTo, "Change ".concat(n, " Hours To"))
2879
+ }, {
2880
+ id: "IntervalsVisibilitiesHours",
2881
+ title: d,
2882
+ min: new s.a(g[0]),
2883
+ max: new s.a(g[1])
2884
+ }),
2885
+ S = Object(a.n)({
2886
+ checked: Object(a.b)(e, t.days, "Change ".concat(n, " Visibility On Days")),
2887
+ from: Object(a.b)(e, t.daysFrom, "Change ".concat(n, " Days From")),
2888
+ to: Object(a.b)(e, t.daysTo, "Change ".concat(n, " Days To"))
2889
+ }, {
2890
+ id: "IntervalsVisibilitiesDays",
2891
+ title: h,
2892
+ min: new s.a(v[0]),
2893
+ max: new s.a(v[1])
2894
+ });
2895
+ r.push(f, E, S);
2896
+
2897
+ const P = Object(a.n)({
2898
+ checked: Object(a.b)(e, t.weeks, "Change ".concat(n, " Visibility On Weeks")),
2899
+ from: Object(a.b)(e, t.weeksFrom, "Change ".concat(n, " Weeks From")),
2900
+ to: Object(a.b)(e, t.weeksTo, "Change ".concat(n, " Weeks To"))
2901
+ }, {
2902
+ id: "IntervalsVisibilitiesWeeks",
2903
+ title: u,
2904
+ min: new s.a(y[0]),
2905
+ max: new s.a(y[1])
2906
+ }),
2907
+ _ = Object(a.n)({
2908
+ checked: Object(a.b)(e, t.months, "Change ".concat(n, " Visibility On Months")),
2909
+ from: Object(a.b)(e, t.monthsFrom, "Change ".concat(n, " Months From")),
2910
+ to: Object(a.b)(e, t.monthsTo, "Change ".concat(n, " Months To"))
2911
+ }, {
2912
+ id: "IntervalsVisibilitiesMonths",
2913
+ title: m,
2914
+ min: new s.a(C[0]),
2915
+ max: new s.a(C[1])
2916
+ });
2917
+
2918
+ return r.push(P, _), r;
2919
+ }
2920
+ },
2921
+ "m+Gx": function mGx(e, t) {
2922
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path stroke="currentColor" d="M9 14.5h11M14.5 20V9"/></svg>';
2923
+ },
2924
+ "rlj/": function rlj(e, t) {
2925
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M5.5 17v5.5h4v-18h4v12h4v-9h4V21"/></svg>';
2926
+ },
2927
+ "sPU+": function sPU(e, t) {
2928
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M10.5 13a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zM16.5 19a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zM22.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z"/></svg>';
2929
+ },
2930
+ tH7p: function tH7p(e, t) {
2931
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M5.5 13.52v4.98a1 1 0 0 0 1 1h15a1 1 0 0 0 1-1V8.914c0-.89-1.077-1.337-1.707-.707l-4.66 4.66a1 1 0 0 1-1.332.074l-3.716-2.973a1 1 0 0 0-1.198-.039l-3.96 2.772a1 1 0 0 0-.427.82z"/></svg>';
2932
+ },
2933
+ tQCG: function tQCG(e, t) {
2934
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M13 11.5l-1.915-1.532a1 1 0 0 0-1.198-.039l-3.96 2.772a1 1 0 0 0-.427.82V18.5a1 1 0 0 0 1 1H13m3.5-7l4.293-4.293c.63-.63 1.707-.184 1.707.707V18.5a1 1 0 0 1-1 1H16"/><path fill="currentColor" d="M14 6h1v2h-1zM14 11h1v2h-1zM14 16h1v2h-1zM14 21h1v2h-1z"/></svg>';
2935
+ },
2936
+ wwEg: function wwEg(e, t, n) {
2937
+ e.exports = {
2938
+ smallStyleControl: "smallStyleControl-11tnC1DU",
2939
+ additionalSelect: "additionalSelect-11tnC1DU",
2940
+ childRowContainer: "childRowContainer-11tnC1DU",
2941
+ defaultSelect: "defaultSelect-11tnC1DU",
2942
+ defaultSelectItem: "defaultSelectItem-11tnC1DU",
2943
+ block: "block-11tnC1DU",
2944
+ group: "group-11tnC1DU",
2945
+ wrapGroup: "wrapGroup-11tnC1DU",
2946
+ textMarkGraphicBlock: "textMarkGraphicBlock-11tnC1DU",
2947
+ textMarkGraphicWrapGroup: "textMarkGraphicWrapGroup-11tnC1DU"
2948
+ };
2949
+ },
2950
+ xHjM: function xHjM(e, t) {
2951
+ e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M5.5 16.5l4.586-4.586a2 2 0 0 1 2.828 0l3.172 3.172a2 2 0 0 0 2.828 0L23.5 10.5"/></svg>';
2952
+ }
2953
+ }]);