binbot-charts 0.0.1 → 0.0.4

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 (350) hide show
  1. package/README.md +5 -7
  2. package/babel.config.json +18 -0
  3. package/dist/TVChartContainer.js +85 -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/de-tv-chart.f0bc1e45.html +1 -0
  315. package/dist/el-tv-chart.f0bc1e45.html +1 -0
  316. package/dist/en-tv-chart.f0bc1e45.html +1 -0
  317. package/dist/es-tv-chart.f0bc1e45.html +1 -0
  318. package/dist/et_EE-tv-chart.f0bc1e45.html +1 -0
  319. package/dist/fa-tv-chart.f0bc1e45.html +1 -0
  320. package/dist/fr-tv-chart.f0bc1e45.html +1 -0
  321. package/dist/he_IL-tv-chart.f0bc1e45.html +1 -0
  322. package/dist/hu_HU-tv-chart.f0bc1e45.html +1 -0
  323. package/dist/id_ID-tv-chart.f0bc1e45.html +1 -0
  324. package/dist/it-tv-chart.f0bc1e45.html +1 -0
  325. package/dist/ja-tv-chart.f0bc1e45.html +1 -0
  326. package/dist/ko-tv-chart.f0bc1e45.html +1 -0
  327. package/dist/ms_MY-tv-chart.f0bc1e45.html +1 -0
  328. package/dist/nl_NL-tv-chart.f0bc1e45.html +1 -0
  329. package/dist/no-tv-chart.f0bc1e45.html +1 -0
  330. package/dist/package.json +8 -0
  331. package/dist/pl-tv-chart.f0bc1e45.html +1 -0
  332. package/dist/pt-tv-chart.f0bc1e45.html +1 -0
  333. package/dist/ro-tv-chart.f0bc1e45.html +1 -0
  334. package/dist/ru-tv-chart.f0bc1e45.html +1 -0
  335. package/dist/sk_SK-tv-chart.f0bc1e45.html +1 -0
  336. package/dist/sv-tv-chart.f0bc1e45.html +1 -0
  337. package/dist/th-tv-chart.f0bc1e45.html +1 -0
  338. package/dist/tr-tv-chart.f0bc1e45.html +1 -0
  339. package/dist/vi-tv-chart.f0bc1e45.html +1 -0
  340. package/dist/zh-tv-chart.f0bc1e45.html +1 -0
  341. package/dist/zh_TW-tv-chart.f0bc1e45.html +1 -0
  342. package/package.json +10 -6
  343. package/src/App.jsx +2 -2
  344. package/src/components/TVChartContainer.jsx +17 -30
  345. package/src/components/datafeed.js +201 -0
  346. package/src/components/helpers.js +32 -0
  347. package/src/components/streaming.js +136 -0
  348. package/copy_charting_library_files.sh +0 -30
  349. package/public/charting_library/yarn.lock +0 -4
  350. package/src/charting_library/yarn.lock +0 -4
@@ -0,0 +1,2373 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.reduce.js");
4
+
5
+ require("core-js/modules/es.parse-float.js");
6
+
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+
9
+ require("core-js/modules/es.parse-int.js");
10
+
11
+ require("core-js/modules/es.json.stringify.js");
12
+
13
+ require("core-js/modules/es.regexp.to-string.js");
14
+
15
+ require("core-js/modules/es.promise.js");
16
+
17
+ require("core-js/modules/es.array.includes.js");
18
+
19
+ require("core-js/modules/es.string.includes.js");
20
+
21
+ require("core-js/modules/es.regexp.exec.js");
22
+
23
+ require("core-js/modules/es.string.split.js");
24
+
25
+ const _excluded = ["className"],
26
+ _excluded2 = ["className"];
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ 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; }
35
+
36
+ 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; }
37
+
38
+ (window.webpackJsonp = window.webpackJsonp || []).push([["floating-toolbars"], {
39
+ "+KIV": function KIV(t, e) {
40
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path stroke="currentColor" d="M8 9.5H6.5a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h11a1 1 0 0 0 1-1V20m-8-1.5h11a1 1 0 0 0 1-1v-11a1 1 0 0 0-1-1h-11a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1z"/></svg>';
41
+ },
42
+ "0ZwQ": function ZwQ(t, e, i) {
43
+ "use strict";
44
+
45
+ var o = i("8+VR"),
46
+ n = i("9uLv"),
47
+ s = i("Vdly"),
48
+ r = i("aIyQ"),
49
+ a = i.n(r),
50
+ l = i("hY0g"),
51
+ c = i.n(l),
52
+ d = i("cZRT");
53
+
54
+ class h extends d.a {
55
+ _startLoading() {
56
+ return i.e("hammerjs").then(i.bind(null, "be1f")).then(t => t.HammerJS);
57
+ }
58
+
59
+ }
60
+
61
+ var u = i("VVxS");
62
+ i("Eyy1");
63
+
64
+ function p(t) {
65
+ let e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
66
+ const i = getComputedStyle(t),
67
+ o = [i.height];
68
+ return "border-box" !== i.boxSizing && o.push(i.paddingTop, i.paddingBottom, i.borderTopWidth, i.borderBottomWidth), e && o.push(i.marginTop, i.marginBottom), o.reduce((t, e) => t + (parseFloat(e) || 0), 0);
69
+ }
70
+
71
+ function g(t) {
72
+ let e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;
73
+ const i = getComputedStyle(t),
74
+ o = [i.width];
75
+ return "border-box" !== i.boxSizing && o.push(i.paddingLeft, i.paddingRight, i.borderLeftWidth, i.borderRightWidth), e && o.push(i.marginLeft, i.marginRight), o.reduce((t, e) => t + (parseFloat(e) || 0), 0);
76
+ }
77
+
78
+ var _ = i("qFKp");
79
+
80
+ class m {
81
+ constructor(t) {
82
+ var e, i;
83
+ this._helper = null, this._handleDragStart = t => {
84
+ var e;
85
+ if (null !== this._helper) return;
86
+ if (!(t.target instanceof Element && this._handle.contains(t.target))) return;
87
+ const i = this._source;
88
+ i.classList.add("ui-draggable-dragging");
89
+
90
+ const o = this._getEventTarget();
91
+
92
+ o.addEventListener("pointermove", this._handleDragMove), o.addEventListener("pointerup", this._handleDragStop), o.addEventListener("pointercancel", this._handleDragStop), o.setPointerCapture(t.pointerId);
93
+ const [n, s] = [g(i), p(i)];
94
+ this._helper = {
95
+ pointer: t.pointerId,
96
+ startX: t.clientX,
97
+ startY: t.clientY,
98
+ startTop: parseFloat(i.style.top) || 0,
99
+ startLeft: parseFloat(i.style.left) || 0,
100
+ nextTop: null,
101
+ nextLeft: null,
102
+ raf: null,
103
+ size: [n, s],
104
+ containment: this._containment instanceof HTMLElement ? [parseInt(getComputedStyle(this._containment).borderLeftWidth) + parseInt(getComputedStyle(this._containment).paddingLeft), parseInt(getComputedStyle(this._containment).borderTopWidth) + parseInt(getComputedStyle(this._containment).paddingTop), this._containment.offsetWidth - parseInt(getComputedStyle(this._containment).borderRightWidth) - parseInt(getComputedStyle(this._containment).paddingRight) - parseInt(getComputedStyle(i).marginLeft) - parseInt(getComputedStyle(i).marginRight) - n, this._containment.offsetHeight - parseInt(getComputedStyle(this._containment).borderBottomWidth) - parseInt(getComputedStyle(this._containment).paddingBottom) - parseInt(getComputedStyle(i).marginTop) - parseInt(getComputedStyle(i).marginBottom) - s] : "window" === this._containment ? [window.scrollX, window.scrollY, window.scrollX + document.documentElement.offsetWidth - n, window.scrollY + document.documentElement.offsetHeight - s] : null
105
+ }, null === (e = this._start) || void 0 === e || e.call(this);
106
+ }, this._handleDragMove = t => {
107
+ var e;
108
+ if (null === this._helper || this._helper.pointer !== t.pointerId) return;
109
+ const i = this._source,
110
+ o = this._helper.nextTop,
111
+ n = this._helper.nextLeft,
112
+ s = "y" === this._axis || !1 === this._axis || 0 !== t.movementY;
113
+
114
+ if (s) {
115
+ const e = this._helper.startTop;
116
+ isFinite(e) && (this._helper.nextTop = t.clientY - this._helper.startY + e);
117
+ }
118
+
119
+ const r = "x" === this._axis || !1 === this._axis || 0 !== t.movementX;
120
+
121
+ if (r) {
122
+ const e = this._helper.startLeft;
123
+ isFinite(e) && (this._helper.nextLeft = t.clientX - this._helper.startX + e);
124
+ }
125
+
126
+ if (null !== this._helper.containment) {
127
+ const [t, e, i, o] = this._helper.containment;
128
+ s && this._helper.nextTop && (this._helper.nextTop = Math.min(this._helper.nextTop, o), this._helper.nextTop = Math.max(this._helper.nextTop, e)), r && this._helper.nextLeft && (this._helper.nextLeft = Math.min(this._helper.nextLeft, i), this._helper.nextLeft = Math.max(this._helper.nextLeft, t));
129
+ }
130
+
131
+ null !== this._helper.raf || o === this._helper.nextTop && n === this._helper.nextLeft || (this._helper.raf = requestAnimationFrame(() => {
132
+ null !== this._helper && (null !== this._helper.nextTop && (i.style.top = this._helper.nextTop + "px", this._helper.nextTop = null), null !== this._helper.nextLeft && (i.style.left = this._helper.nextLeft + "px", this._helper.nextLeft = null), this._helper.raf = null);
133
+ })), null === (e = this._drag) || void 0 === e || e.call(this);
134
+ }, this._handleDragStop = t => {
135
+ var e;
136
+ if (null === this._helper || this._helper.pointer !== t.pointerId) return;
137
+
138
+ this._source.classList.remove("ui-draggable-dragging");
139
+
140
+ const i = this._getEventTarget();
141
+
142
+ i.removeEventListener("pointermove", this._handleDragMove), i.removeEventListener("pointerup", this._handleDragStop), i.removeEventListener("pointercancel", this._handleDragStop), i.releasePointerCapture(this._helper.pointer), this._helper = null, null === (e = this._stop) || void 0 === e || e.call(this);
143
+ };
144
+ const o = this._source = t.source;
145
+ o.classList.add("ui-draggable");
146
+ const n = this._handle = null !== (e = t.handle ? o.querySelector(t.handle) : null) && void 0 !== e ? e : o;
147
+ n.style.touchAction = "none", n.classList.add("ui-draggable-handle");
148
+ this._getEventTarget().addEventListener("pointerdown", this._handleDragStart), this._start = t.start, this._stop = t.stop, this._drag = t.drag, this._axis = null !== (i = t.axis) && void 0 !== i && i, this._containment = t.containment;
149
+ }
150
+
151
+ destroy() {
152
+ const t = this._source;
153
+ t.classList.remove("ui-draggable"), t.classList.remove("ui-draggable-dragging");
154
+ this._handle.style.touchAction = "";
155
+
156
+ const e = this._getEventTarget();
157
+
158
+ e.removeEventListener("pointerdown", this._handleDragStart), e.removeEventListener("pointermove", this._handleDragMove), e.removeEventListener("pointerup", this._handleDragStop), e.removeEventListener("pointercancel", this._handleDragStop), null !== this._helper && (this._helper.raf && cancelAnimationFrame(this._helper.raf), e.releasePointerCapture(this._helper.pointer), this._helper = null);
159
+ }
160
+
161
+ _getEventTarget() {
162
+ return _.CheckMobile.iOS() || Object(_.isMac)() && o.touch ? window.document.documentElement : this._handle;
163
+ }
164
+
165
+ }
166
+
167
+ var b = i("gWrr"),
168
+ v = i("JWMC"),
169
+ w = i("qAO1");
170
+ i("PwLo");
171
+ i.d(e, "a", function () {
172
+ return f;
173
+ }), i.d(e, "b", function () {
174
+ return C;
175
+ });
176
+ const f = "floating-toolbar-react-widgets",
177
+ y = "<div class=\"tv-floating-toolbar i-closed i-hidden\"><div class=\"tv-floating-toolbar__widget-wrapper\"><div class=\"tv-floating-toolbar__drag js-drag\">".concat(w, "</div><div class=\"tv-floating-toolbar__content js-content\"></div><div class=\"").concat(f, "\"></div></div></div>");
178
+
179
+ class C {
180
+ constructor(t) {
181
+ this._widget = document.createElement("div"), this._isVertical = !1, this._hiddingTimeoutId = null, this._visibility = new c.a(!1), this._windowResizeListener = this._onWindowResize.bind(this), this._reorderedDelegate = new a.a(), this._responsiveResizeFunction = null, this._showTimeStamp = null, this._draggable = null, this._preventClickUntilAnimation = t => {
182
+ null !== this._showTimeStamp && performance.now() - this._showTimeStamp < this.hideDuration() && t.stopPropagation();
183
+ }, C._toolbars.push(this), this._options = t, this._widget = Object(b.b)(y), this._content = this._widget.getElementsByClassName("js-content").item(0), this._reactWidgetsContainer = this._widget.getElementsByClassName(f).item(0), this._setZIndex(C._startZIndex + C._toolbars.length - 1), this._options.addClass && (this._widget.className += " " + this._options.addClass), this._options["data-name"] && (this._widget.dataset.name = this._options["data-name"]), this._options.layout && "auto" !== this._options.layout && (this._isVertical = "vertical" === this._options.layout, this._updateLayoutType(), this._updateAxisOption()), this._widget.addEventListener("click", this._preventClickUntilAnimation, !0);
184
+ }
185
+
186
+ destroy() {
187
+ this.hide(!0), C._toolbars.splice(C._toolbars.indexOf(this), 1), this._widget.removeEventListener("click", this._preventClickUntilAnimation, !0), document.body.contains(this._widget) && document.body.removeChild(this._widget), null !== this._draggable && this._draggable.destroy(), this._widget.innerHTML = "", this._responsiveResizeFunction = null;
188
+ }
189
+
190
+ setResponsiveResizeFunc(t) {
191
+ this._responsiveResizeFunction = t;
192
+ }
193
+
194
+ isVisible() {
195
+ return this._visibility.value();
196
+ }
197
+
198
+ visibility() {
199
+ return this._visibility.readonly();
200
+ }
201
+
202
+ isVertical() {
203
+ return this._isVertical;
204
+ }
205
+
206
+ show() {
207
+ this.isVisible() || (document.body.contains(this._widget) || (this._init(), document.body.appendChild(this._widget)), this._setHiddingTimeout(null), window.addEventListener("resize", this._windowResizeListener), this.raise(), this._visibility.setValue(!0), this._showTimeStamp = performance.now(), this._widget.classList.contains("i-hidden") ? (this._widget.classList.remove("i-hidden"), setTimeout(() => {
208
+ this.isVisible() && this._widget.classList.remove("i-closed");
209
+ })) : this._widget.classList.remove("i-closed"), this._onWindowResize());
210
+ }
211
+
212
+ hide() {
213
+ let t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;
214
+ if (!this.isVisible()) return;
215
+
216
+ const e = this._widget.classList.contains("i-closed");
217
+
218
+ if (this._widget.classList.add("i-closed"), this._visibility.setValue(!1), t || e) this._setHiddingTimeout(null), this._widget.classList.add("i-hidden");else {
219
+ const t = setTimeout(() => {
220
+ this._setHiddingTimeout(null), this._widget.classList.add("i-hidden");
221
+ }, this.hideDuration());
222
+
223
+ this._setHiddingTimeout(t);
224
+ }
225
+ window.removeEventListener("resize", this._windowResizeListener);
226
+ }
227
+
228
+ raise() {
229
+ C._toolbars.length + C._startZIndex !== this._zIndex() && (C._toolbars.splice(C._toolbars.indexOf(this), 1), C._toolbars.push(this), C._updateAllZIndexes());
230
+ }
231
+
232
+ hideDuration() {
233
+ return .75 * n.b;
234
+ }
235
+
236
+ addWidget(t) {
237
+ let e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
238
+ const i = this.widgetsCount();
239
+ if (void 0 === e.index && (e.index = i), e.index < 0 || e.index > i) throw new Error("Index must be in [0, ".concat(i, "]"));
240
+ const o = document.createElement("div");
241
+ o.className = "tv-floating-toolbar__widget js-widget", o.appendChild(t);
242
+ const n = e.index === i ? null : this._content.childNodes.item(e.index);
243
+ this._content.insertBefore(o, n), this._onWindowResize();
244
+ }
245
+
246
+ getReactWidgetContainer() {
247
+ return this._reactWidgetsContainer;
248
+ }
249
+
250
+ removeWidget(t) {
251
+ const e = this._findWrapperForWidget(t);
252
+
253
+ e && (this._content.removeChild(e), this._onWindowResize());
254
+ }
255
+
256
+ widgetsCount() {
257
+ return this._content.childNodes.length;
258
+ }
259
+
260
+ showWidget(t) {
261
+ const e = this._findWrapperForWidget(t);
262
+
263
+ e && e.classList.remove("i-hidden");
264
+ }
265
+
266
+ hideWidget(t) {
267
+ const e = this._findWrapperForWidget(t);
268
+
269
+ e && e.classList.add("i-hidden");
270
+ }
271
+
272
+ removeWidgets() {
273
+ for (; this._content.firstChild;) this._content.removeChild(this._content.firstChild);
274
+
275
+ this._onWindowResize();
276
+ }
277
+
278
+ onWidgetsReordered() {
279
+ return this._reorderedDelegate;
280
+ }
281
+
282
+ onContextMenu(t) {
283
+ if (o.mobiletouch) {
284
+ new h().load().then(e => {
285
+ const i = new e(this._widget);
286
+ i.get("press").set({
287
+ time: 500
288
+ }), i.on("press", e => {
289
+ this._preventWidgetTouchEndEvent(), t(e.srcEvent);
290
+ });
291
+ });
292
+ } else this._widget.addEventListener("contextmenu", t);
293
+ }
294
+
295
+ checkPosition() {
296
+ const t = this._getCorrectedWidgetRect(),
297
+ e = {
298
+ left: t.left,
299
+ top: t.top
300
+ };
301
+
302
+ this._correctPosition(e), t.left === e.left && t.top === e.top || (this._widget.style.left = e.left + "px", this._widget.style.top = e.top + "px");
303
+ }
304
+
305
+ _determineCurrentLayoutVertical(t) {
306
+ const e = this._isVertical ? t.height : t.width;
307
+ return window.innerWidth < e && window.innerWidth < window.innerHeight;
308
+ }
309
+
310
+ _getWidget() {
311
+ return this._widget;
312
+ }
313
+
314
+ _findWrapperForWidget(t) {
315
+ const e = this._content.getElementsByClassName("js-widget");
316
+
317
+ for (let i = 0; i < e.length; ++i) {
318
+ const o = e.item(i);
319
+ if (o.contains(t)) return o;
320
+ }
321
+
322
+ return null;
323
+ }
324
+
325
+ _onVerticalChanged(t, e) {}
326
+
327
+ _setHiddingTimeout(t) {
328
+ null !== this._hiddingTimeoutId && clearTimeout(this._hiddingTimeoutId), this._hiddingTimeoutId = t;
329
+ }
330
+
331
+ _preventWidgetTouchEndEvent() {
332
+ const t = e => {
333
+ e.preventDefault(), this._widget.removeEventListener("touchend", t);
334
+ };
335
+
336
+ this._widget.addEventListener("touchend", t);
337
+ }
338
+
339
+ _updateLayoutType() {
340
+ this._widget.classList.toggle("i-vertical", this._isVertical);
341
+ }
342
+
343
+ _updateAxisOption() {
344
+ 0;
345
+ }
346
+
347
+ _onWindowResize() {
348
+ if ("auto" === (this._options.layout || "auto")) {
349
+ const t = this._isVertical,
350
+ e = this._getCorrectedWidgetRect();
351
+
352
+ this._isVertical = this._determineCurrentLayoutVertical(e), this._updateLayoutType(), t !== this._isVertical && (this._onVerticalChanged(this._isVertical, t), this._updateAxisOption());
353
+ }
354
+
355
+ this.checkPosition(), this._resizeResponsive();
356
+ }
357
+
358
+ _resizeResponsive() {
359
+ if (null === this._responsiveResizeFunction) return;
360
+ let t = this._options.layout || "auto";
361
+ "auto" === t && (t = this._isVertical ? "vertical" : "horizontal");
362
+ const e = "vertical" === t ? this._widget.clientHeight : this._widget.clientWidth,
363
+ i = ("vertical" === t ? window.innerHeight : window.innerWidth) - e;
364
+
365
+ this._responsiveResizeFunction(e, i, t);
366
+ }
367
+
368
+ _correctPosition(t) {
369
+ const e = this._getCorrectedWidgetRect();
370
+
371
+ t.left + e.width > window.innerWidth && (t.left = Math.max(0, window.innerWidth - e.width)), t.top + e.height > window.innerHeight && (t.top = Math.max(0, window.innerHeight - e.height)), t.left = Math.max(0, t.left), t.top = Math.max(0, t.top);
372
+ }
373
+
374
+ _setZIndex(t) {
375
+ this._widget.style.zIndex = String(t);
376
+ }
377
+
378
+ _zIndex() {
379
+ return Number(this._widget.style.zIndex);
380
+ }
381
+
382
+ _loadPosition() {
383
+ let t;
384
+
385
+ if ("device" === this._options.positionStorageType) {
386
+ const e = u.TVLocalStorage.getItem(this._options.positionSettingsKey);
387
+ t = null !== e ? JSON.parse(e) : this._options.defaultPosition;
388
+ } else t = Object(s.getJSON)(this._options.positionSettingsKey, this._options.defaultPosition);
389
+
390
+ this._widget.style.left = Math.round(t.left) + "px", this._widget.style.top = Math.round(t.top) + "px", this._onWindowResize();
391
+ }
392
+
393
+ _savePosition() {
394
+ const t = this._widget.getBoundingClientRect();
395
+
396
+ if ("device" === this._options.positionStorageType) try {
397
+ u.TVLocalStorage.setItem(this._options.positionSettingsKey, JSON.stringify({
398
+ left: t.left,
399
+ top: t.top
400
+ }));
401
+ } catch (t) {} else Object(s.setJSON)(this._options.positionSettingsKey, {
402
+ left: t.left,
403
+ top: t.top
404
+ });
405
+ }
406
+
407
+ _init() {
408
+ this._loadPosition(), this._draggable = new m({
409
+ source: this._widget,
410
+ containment: "window",
411
+ handle: ".js-drag",
412
+ stop: this._savePosition.bind(this)
413
+ }), this._widget.addEventListener("pointerdown", this.raise.bind(this));
414
+ }
415
+
416
+ _initSortable() {
417
+ let t = -1;
418
+ lazyJqueryUI(this._content).sortable({
419
+ start: (e, i) => {
420
+ t = i.item.index();
421
+ },
422
+ stop: (e, i) => {
423
+ const o = i.item.index();
424
+ t !== o && (Object(v.trackEvent)("Floating Toolbar", "User Sort"), this._reorderedDelegate.fire(t, o));
425
+ },
426
+ tolerance: "pointer",
427
+ distance: 5,
428
+ containment: !!this._options.dragOnlyInsideToolbar && "parent",
429
+ scroll: !1,
430
+ placeholder: "sortable-placeholder",
431
+ forcePlaceholderSize: !0
432
+ }), this._updateAxisOption();
433
+ }
434
+
435
+ _getCorrectedWidgetRect() {
436
+ const t = this._widget.getBoundingClientRect();
437
+
438
+ if (this._widget.classList.contains("i-closed")) {
439
+ const e = 1 / .925 - 1,
440
+ i = t.width * e,
441
+ o = t.height * e;
442
+ return {
443
+ bottom: t.bottom + o / 2,
444
+ height: t.height + o,
445
+ left: t.left - i / 2,
446
+ right: t.right + i / 2,
447
+ top: t.top - o / 2,
448
+ width: t.width + i
449
+ };
450
+ }
451
+
452
+ return t;
453
+ }
454
+
455
+ static _updateAllZIndexes() {
456
+ C._toolbars.forEach((t, e) => {
457
+ t._setZIndex(C._startZIndex + e);
458
+ });
459
+ }
460
+
461
+ }
462
+
463
+ C._startZIndex = 20, C._toolbars = [];
464
+ },
465
+ "0fuu": function fuu(t, e) {
466
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20" fill="none"><path stroke="currentColor" d="M13.5 6.5l-3-3-7 7 7.59 7.59a2 2 0 0 0 2.82 0l4.18-4.18a2 2 0 0 0 0-2.82L13.5 6.5zm0 0v-4a2 2 0 0 0-2-2v0a2 2 0 0 0-2 2v6"/><path fill="currentColor" d="M0 16.5C0 15 2.5 12 2.5 12S5 15 5 16.5 4 19 2.5 19 0 18 0 16.5z"/><circle fill="currentColor" cx="9.5" cy="9.5" r="1.5"/></svg>';
467
+ },
468
+ "2F1E": function F1E(t, e) {
469
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 4" width="18" height="4"><rect width="18" height="4" fill="currentColor" rx="2"/></svg>';
470
+ },
471
+ "4QAy": function QAy(t, e, i) {},
472
+ "5hRh": function hRh(t, e, i) {
473
+ "use strict";
474
+
475
+ i.d(e, "a", function () {
476
+ return n;
477
+ });
478
+ var o = i("q1tI");
479
+
480
+ const n = t => {
481
+ const [e, i] = Object(o.useState)(t.value());
482
+ return Object(o.useEffect)(() => {
483
+ const e = t => {
484
+ i(t.value());
485
+ };
486
+
487
+ e(t);
488
+ const o = {};
489
+ return t.subscribe(o, e), () => t.unsubscribe(o, e);
490
+ }, [t]), e;
491
+ };
492
+ },
493
+ ADFN: function ADFN(t, e, i) {},
494
+ EvtC: function EvtC(t, e, i) {
495
+ t.exports = {
496
+ button: "button-2YcRd2gv"
497
+ };
498
+ },
499
+ HWhk: function HWhk(t, e) {
500
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="none"><path fill="currentColor" fillRule="evenodd" clipRule="evenodd" d="M7.5 13a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM5 14.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0zm9.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM12 14.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0zm9.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM19 14.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0z"/></svg>';
501
+ },
502
+ IhRv: function IhRv(t, e, i) {
503
+ "use strict";
504
+
505
+ i.r(e), i.d(e, "ColorPickerButton", function () {
506
+ return b;
507
+ });
508
+
509
+ var o = i("q1tI"),
510
+ n = i.n(o),
511
+ s = i("TSYQ"),
512
+ r = i.n(s),
513
+ a = i("Eyy1"),
514
+ l = i("Iivm"),
515
+ c = i("eJTA"),
516
+ d = i("Tmoa"),
517
+ h = i("V3OP"),
518
+ u = i("htM8"),
519
+ p = i("wLjq"),
520
+ g = i("82wv"),
521
+ _ = i("5hRh"),
522
+ m = i("X1vi");
523
+
524
+ function b(t) {
525
+ const {
526
+ property: e,
527
+ icon: i,
528
+ model: s,
529
+ title: b,
530
+ className: v
531
+ } = t,
532
+ w = Object(_.a)(e),
533
+ f = Object(o.useRef)(null),
534
+ y = w ? Object(c.parseRgba)(w)[3] : void 0,
535
+ C = "" === w,
536
+ x = String(T()).toLowerCase() === p.c,
537
+ [W, P, S] = Object(h.a)();
538
+ return n.a.createElement(g.a, {
539
+ className: v,
540
+ content: n.a.createElement("div", {
541
+ className: m.wrap
542
+ }, n.a.createElement(l.a, {
543
+ className: m.icon,
544
+ icon: i
545
+ }), n.a.createElement("div", {
546
+ className: m.colorBg
547
+ }, n.a.createElement("div", {
548
+ className: r()(m.color, C && m.multicolor, x && m.white),
549
+ style: C ? void 0 : {
550
+ backgroundColor: w
551
+ }
552
+ }))),
553
+ arrow: !1,
554
+ title: b,
555
+ ref: f,
556
+ "data-name": t["data-name"],
557
+ menuDataName: t["data-name"] + "-menu"
558
+ }, n.a.createElement(u.a, {
559
+ color: T(),
560
+ opacity: y,
561
+ onColorChange: function onColorChange(t, e) {
562
+ const i = w ? Object(d.alphaToTransparency)(Object(c.parseRgba)(w)[3]) : 0;
563
+ L(Object(d["generateColor"])(String(t), i, true)), e || Object(a.ensureNotNull)(f.current).close();
564
+ },
565
+ onOpacityChange: function onOpacityChange(t) {
566
+ L(Object(d.generateColor)(w, Object(d.alphaToTransparency)(t), !0));
567
+ },
568
+ selectOpacity: void 0 !== y,
569
+ selectCustom: !0,
570
+ customColors: W,
571
+ onAddColor: function onAddColor(t) {
572
+ P(t), Object(a.ensureNotNull)(f.current).close();
573
+ },
574
+ onRemoveCustomColor: S
575
+ }));
576
+
577
+ function T() {
578
+ return w ? Object(c.rgbToHexString)(Object(c.parseRgb)(w)) : null;
579
+ }
580
+
581
+ function L(t) {
582
+ s.setProperty(e, t, b);
583
+ }
584
+ }
585
+ },
586
+ Lnv9: function Lnv9(t, e) {
587
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="currentColor"><rect width="18" height="2" rx="1" x="5" y="14"/><rect width="18" height="1" rx=".5" x="5" y="20"/><rect width="18" height="3" rx="1.5" x="5" y="7"/></svg>';
588
+ },
589
+ O5Oz: function O5Oz(t, e) {
590
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 1" width="18" height="1"><rect width="18" height="1" fill="currentColor" rx=".5"/></svg>';
591
+ },
592
+ PwLo: function PwLo(t, e, i) {},
593
+ SAe1: function SAe1(t, e, i) {
594
+ "use strict";
595
+
596
+ i.d(e, "a", function () {
597
+ return r;
598
+ });
599
+ var o = i("q1tI"),
600
+ n = i("rzV7"),
601
+ s = i.n(n);
602
+
603
+ class r extends o.Component {
604
+ constructor(t) {
605
+ super(t), this._handleMediaChange = () => {
606
+ const t = l(this.state.queries, (t, e) => e.matches);
607
+ let e = !1;
608
+
609
+ for (const i in t) if (t.hasOwnProperty(i) && this.state.matches[i] !== t[i]) {
610
+ e = !0;
611
+ break;
612
+ }
613
+
614
+ e && this.setState({
615
+ matches: t
616
+ });
617
+ };
618
+ const {
619
+ rules: e
620
+ } = this.props;
621
+ this.state = a(e);
622
+ }
623
+
624
+ shouldComponentUpdate(t, e) {
625
+ return !s()(t, this.props) || !s()(e.rules, this.state.rules) || !s()(e.matches, this.state.matches);
626
+ }
627
+
628
+ componentDidMount() {
629
+ this._migrate(null, this.state.queries);
630
+ }
631
+
632
+ componentDidUpdate(t, e) {
633
+ s()(t.rules, this.props.rules) || this._migrate(e.queries, this.state.queries);
634
+ }
635
+
636
+ componentWillUnmount() {
637
+ this._migrate(this.state.queries, null);
638
+ }
639
+
640
+ render() {
641
+ return this.props.children(this.state.matches);
642
+ }
643
+
644
+ static getDerivedStateFromProps(t, e) {
645
+ if (s()(t.rules, e.rules)) return null;
646
+ const {
647
+ rules: i
648
+ } = t;
649
+ return a(i);
650
+ }
651
+
652
+ _migrate(t, e) {
653
+ null !== t && l(t, (t, e) => {
654
+ e.removeListener(this._handleMediaChange);
655
+ }), null !== e && l(e, (t, e) => {
656
+ e.addListener(this._handleMediaChange);
657
+ });
658
+ }
659
+
660
+ }
661
+
662
+ function a(t) {
663
+ const e = l(t, (t, e) => window.matchMedia(e));
664
+ return {
665
+ queries: e,
666
+ matches: l(e, (t, e) => e.matches),
667
+ rules: _objectSpread({}, t)
668
+ };
669
+ }
670
+
671
+ function l(t, e) {
672
+ const i = {};
673
+
674
+ for (const o in t) t.hasOwnProperty(o) && (i[o] = e(o, t[o]));
675
+
676
+ return i;
677
+ }
678
+ },
679
+ UXdH: function UXdH(t, e) {
680
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" d="M4 13h5v1H4v-1zM12 13h5v1h-5v-1zM20 13h5v1h-5v-1z"/></svg>';
681
+ },
682
+ Ve4Q: function Ve4Q(t, e, i) {
683
+ "use strict";
684
+
685
+ i.r(e);
686
+
687
+ var o = i("q1tI"),
688
+ n = i.n(o),
689
+ s = i("i8i4"),
690
+ r = i.n(s),
691
+ a = i("YFKU"),
692
+ l = i("Kxc7"),
693
+ c = i("hY0g"),
694
+ d = i.n(c),
695
+ h = i("ogJP"),
696
+ u = i("CW80"),
697
+ p = i("mMWL"),
698
+ g = i("j3hX"),
699
+ _ = i("Eyy1"),
700
+ m = i("tc+8"),
701
+ b = i.n(m);
702
+
703
+ class v extends b.a {
704
+ constructor(t, e, i) {
705
+ super(), this._listenersMappers = [], this._isProcess = !1, this._baseProperty = t, this._undoModel = e, this._undoText = i;
706
+ }
707
+
708
+ destroy() {
709
+ this._baseProperty.destroy();
710
+ }
711
+
712
+ value() {
713
+ return this._baseProperty.value();
714
+ }
715
+
716
+ setValue(t) {
717
+ this._isProcess = !0, this._baseProperty.setValue(t, void 0, {
718
+ applyValue: (t, e) => this._undoModel.setProperty(t, e, this._undoText)
719
+ }), this._isProcess = !1, this._listenersMappers.forEach(t => {
720
+ t.method.call(t.obj, this);
721
+ });
722
+ }
723
+
724
+ subscribe(t, e) {
725
+ const i = i => {
726
+ this._isProcess || e.call(t, this);
727
+ },
728
+ o = {
729
+ obj: t,
730
+ method: e,
731
+ callback: i
732
+ };
733
+
734
+ this._listenersMappers.push(o), this._baseProperty.subscribe(t, i);
735
+ }
736
+
737
+ unsubscribe(t, e) {
738
+ var i;
739
+ const o = Object(_.ensureDefined)(null === (i = this._listenersMappers.find(i => i.obj === t && i.method === e)) || void 0 === i ? void 0 : i.callback);
740
+
741
+ this._baseProperty.unsubscribe(t, o);
742
+ }
743
+
744
+ unsubscribeAll(t) {
745
+ this._baseProperty.unsubscribeAll(t);
746
+ }
747
+
748
+ }
749
+
750
+ var w = i("turx"),
751
+ f = i("SAe1"),
752
+ y = i("0ZwQ"),
753
+ C = i("uhCe");
754
+ const x = y.a + "__button";
755
+
756
+ function W(t) {
757
+ const {
758
+ templateButton: e,
759
+ propertyButtons: i,
760
+ commonButtons: o,
761
+ isDrawingFinished: s,
762
+ activeChartWidget: r
763
+ } = t,
764
+ a = r.hasModel() && r.model().selection().dataSources();
765
+ return a && a.length ? n.a.createElement(f.a, {
766
+ rules: {
767
+ isSmallWidth: C.a.TabletSmall,
768
+ isSmallHeight: "screen and (max-height: 428px)"
769
+ }
770
+ }, _ref => {
771
+ let {
772
+ isSmallWidth: t,
773
+ isSmallHeight: e
774
+ } = _ref;
775
+ return n.a.createElement(n.a.Fragment, null, l(), s && n.a.createElement(n.a.Fragment, null, Boolean(i.length) && i.map((i, o) => n.a.createElement(i.component, _objectSpread(_objectSpread({}, i.props), {}, {
776
+ key: "".concat(i.props.title, "_").concat(o),
777
+ className: x,
778
+ isSmallScreen: t || e
779
+ }))), Boolean(o.length) && o.map((i, o) => {
780
+ const s = t || e;
781
+ return s ? i.showForSmallScreen ? n.a.createElement(i.component, _objectSpread(_objectSpread({}, i.props), {}, {
782
+ isSmallScreen: s,
783
+ key: "".concat(i.props.title, "_").concat(o),
784
+ className: x
785
+ })) : null : n.a.createElement(i.component, _objectSpread(_objectSpread({}, i.props), {}, {
786
+ key: "".concat(i.props.title, "_").concat(o),
787
+ className: x
788
+ }));
789
+ })));
790
+ }) : l();
791
+
792
+ function l() {
793
+ return null === e ? null : n.a.createElement(e.component, _objectSpread(_objectSpread({}, e.props), {}, {
794
+ isDrawingFinished: s,
795
+ className: x
796
+ }));
797
+ }
798
+ }
799
+
800
+ var P = i("JWMC"),
801
+ S = i("p0W+"),
802
+ T = i("Xxuz");
803
+
804
+ function L(t) {
805
+ const {
806
+ title: e,
807
+ activeChartWidget: i,
808
+ className: o
809
+ } = t;
810
+ return n.a.createElement(S.a, {
811
+ className: o,
812
+ icon: T,
813
+ title: e,
814
+ onClick: function onClick() {
815
+ Object(P.trackEvent)("GUI", "Context action on drawings", "Settings"), i.showChartPropertiesForSource(i.model().selection().lineDataSources()[0], void 0, {
816
+ onWidget: i.onWidget()
817
+ });
818
+ },
819
+ "data-name": "settings"
820
+ });
821
+ }
822
+
823
+ var E = i("5hRh"),
824
+ B = i("TSYQ"),
825
+ k = i("4rU7"),
826
+ O = i("ucyy");
827
+
828
+ function V(t) {
829
+ const {
830
+ className: e
831
+ } = t,
832
+ i = _objectWithoutProperties(t, _excluded);
833
+
834
+ return n.a.createElement(k.a, _objectSpread({
835
+ className: B(e, O.button),
836
+ tooltipPosition: "horizontal"
837
+ }, i));
838
+ }
839
+
840
+ var I = i("43BO"),
841
+ M = i("Uh5y");
842
+
843
+ function R(t) {
844
+ const {
845
+ activeChartWidget: e,
846
+ className: i
847
+ } = t,
848
+ o = e.model().selection().lineDataSources()[0].properties().frozen,
849
+ s = Object(E.a)(o),
850
+ r = s ? {
851
+ title: Object(a.t)("Unlock"),
852
+ icon: I
853
+ } : {
854
+ title: Object(a.t)("Lock"),
855
+ icon: M
856
+ };
857
+ return n.a.createElement(V, _objectSpread({
858
+ className: i,
859
+ isActive: Boolean(s),
860
+ onClick: function onClick() {
861
+ Object(P.trackEvent)("GUI", "Context action on drawings", "Lock"), e.toggleLockSelectedObject();
862
+ },
863
+ "data-name": Boolean(s) ? "unlock" : "lock"
864
+ }, r));
865
+ }
866
+
867
+ var N = i("aVjL");
868
+
869
+ function j(t) {
870
+ const {
871
+ title: e,
872
+ activeChartWidget: i,
873
+ className: o
874
+ } = t;
875
+ return n.a.createElement(S.a, {
876
+ className: o,
877
+ icon: N,
878
+ title: e,
879
+ "data-name": "remove",
880
+ onClick: function onClick() {
881
+ Object(P.trackEvent)("GUI", "Context action on drawings", "Remove"), i.removeSelectedSources();
882
+ }
883
+ });
884
+ }
885
+
886
+ var F = i("Iivm"),
887
+ A = i("8+VR"),
888
+ D = i("/3z9"),
889
+ z = i("lxNp"),
890
+ H = i("82wv"),
891
+ U = i("IAAr"),
892
+ G = i("7KDR"),
893
+ Q = i("ycI/"),
894
+ q = i("5VQP"),
895
+ K = i("HZKX"),
896
+ Y = i("HWhk"),
897
+ Z = i("9dnG"),
898
+ $ = i("dmHa");
899
+
900
+ function X(t) {
901
+ const {
902
+ title: e,
903
+ activeChartWidget: s,
904
+ isSmallScreen: r,
905
+ className: l
906
+ } = t,
907
+ c = s.model(),
908
+ d = c.selection().lineDataSources(),
909
+ [h, u] = Object(o.useState)([]),
910
+ p = Object(o.useRef)(null),
911
+ g = Object(o.useMemo)(() => new K.ActionsProvider(s), [s]);
912
+ return n.a.createElement(n.a.Fragment, null, n.a.createElement(Q.a, {
913
+ keyCode: 27,
914
+ eventType: "keyup",
915
+ handler: function handler() {
916
+ Object(_.ensureNotNull)(p.current).close();
917
+ }
918
+ }), n.a.createElement(H.a, {
919
+ className: l,
920
+ ref: p,
921
+ arrow: !1,
922
+ onOpen: r ? void 0 : function () {
923
+ const t = [new G.Action({
924
+ label: Object(a.t)("Visual order"),
925
+ icon: Z,
926
+ subItems: m(),
927
+ name: "visual-order"
928
+ })],
929
+ e = function () {
930
+ const t = [],
931
+ e = D.isMacKeyboard ? " +" : "",
932
+ o = d.filter(t => t.cloneable());
933
+ o.length > 0 && t.push(new G.Action({
934
+ name: "clone",
935
+ icon: i("+KIV"),
936
+ shortcutHint: D.humanReadableModifiers(z.Modifiers.Mod) + e + " Drag",
937
+ label: Object(a.t)("Clone"),
938
+ onExecute: () => {
939
+ c.cloneLineTools(o, !1), Object(P.trackEvent)("GUI", "Context action on drawings", "Clone");
940
+ }
941
+ }));
942
+ const n = d.filter(t => t.copiable());
943
+
944
+ if (n.length > 0) {
945
+ const i = {
946
+ name: "copy",
947
+ label: Object(a.t)("Copy"),
948
+ shortcutHint: D.humanReadableModifiers(z.Modifiers.Mod) + e + " C",
949
+ onExecute: () => {
950
+ s.chartWidgetCollection().clipboard.uiRequestCopy(n);
951
+ }
952
+ };
953
+ t.push(new G.Action(i, "Copy"));
954
+ }
955
+
956
+ if (!function () {
957
+ if (!(null == s ? void 0 : s.isMultipleLayout())) return !1;
958
+ return d.some(t => t.isSynchronizable());
959
+ }()) return t;
960
+ d.filter(t => !!t.linkKey().value()).length ? t.push(new G.Action({
961
+ name: "stop-sync",
962
+ label: Object(a.t)("Stop syncing"),
963
+ onExecute: () => {
964
+ c.unlinkLines && c.unlinkLines(d);
965
+ }
966
+ })) : t.push(new G.Action({
967
+ name: "sync",
968
+ label: Object(a.t)("Sync to all charts"),
969
+ onExecute: () => {
970
+ c.copyToOtherCharts(d);
971
+ }
972
+ }));
973
+ return t;
974
+ }();
975
+
976
+ e.length && t.push(new G.Separator(), ...e);
977
+ t.push(new G.Separator(), new G.Action({
978
+ label: Object(a.t)("Hide"),
979
+ icon: $,
980
+ onExecute: () => {
981
+ s.hideSelectedObject();
982
+ },
983
+ name: "hide"
984
+ })), u(J(t));
985
+ },
986
+ onClick: r ? function (t) {
987
+ g.contextMenuActionsForSources(d).then(e => {
988
+ window.matchMedia(C.a.TabletSmall).matches ? q.ContextMenuManager.createMenu(J(e), {
989
+ mode: "drawer",
990
+ "data-name": "more-menu"
991
+ }).then(e => e.show(t)) : u(J(e));
992
+ });
993
+ } : void 0,
994
+ title: e,
995
+ content: n.a.createElement(F.a, {
996
+ icon: Y
997
+ }),
998
+ "data-name": "more",
999
+ menuDataName: "more-menu"
1000
+ }, n.a.createElement(U.a, {
1001
+ parentIsOpened: !0,
1002
+ items: h
1003
+ })));
1004
+
1005
+ function m() {
1006
+ const t = [],
1007
+ e = c.availableZOrderOperations(d),
1008
+ i = new G.Action({
1009
+ name: "bring-to-front",
1010
+ label: Object(a.t)("Bring to Front"),
1011
+ onExecute: () => {
1012
+ c.bringToFront(d);
1013
+ },
1014
+ disabled: 1 === d.length && !e.bringToFrontEnabled
1015
+ }),
1016
+ o = new G.Action({
1017
+ name: "send-to-back",
1018
+ label: Object(a.t)("Send to Back"),
1019
+ onExecute: () => {
1020
+ c.sendToBack(d);
1021
+ },
1022
+ disabled: 1 === d.length && !e.sendToBackEnabled
1023
+ }),
1024
+ n = new G.Action({
1025
+ name: "bring-forward",
1026
+ label: Object(a.t)("Bring Forward"),
1027
+ onExecute: () => {
1028
+ c.bringForward(d);
1029
+ },
1030
+ disabled: 1 === d.length && !e.bringForwardEnabled
1031
+ }),
1032
+ s = new G.Action({
1033
+ name: "send-backward",
1034
+ label: Object(a.t)("Send Backward"),
1035
+ onExecute: () => {
1036
+ c.sendBackward(d);
1037
+ },
1038
+ disabled: 1 === d.length && !e.sendBackwardEnabled
1039
+ });
1040
+ return t.push(i, o, n, s), t;
1041
+ }
1042
+ }
1043
+
1044
+ function J(t) {
1045
+ return A.touch && !window.matchMedia("(pointer:fine)").matches ? t.filter(t => "Copy" !== t.id) : t;
1046
+ }
1047
+
1048
+ var tt = i("972a"),
1049
+ et = i("bQEj"),
1050
+ it = i("UXdH"),
1051
+ ot = i("ZSM+");
1052
+
1053
+ function nt(t) {
1054
+ const {
1055
+ property: e,
1056
+ model: i,
1057
+ title: s,
1058
+ className: r
1059
+ } = t,
1060
+ l = Object(E.a)(e),
1061
+ c = Object(o.useMemo)(() => [new G.Action({
1062
+ icon: et,
1063
+ label: Object(a.t)("Line"),
1064
+ active: tt.b.Solid === l,
1065
+ onExecute: () => i.setProperty(e, tt.b.Solid, s)
1066
+ }), new G.Action({
1067
+ icon: it,
1068
+ label: Object(a.t)("Dashed line"),
1069
+ active: tt.b.Dashed === l,
1070
+ onExecute: () => i.setProperty(e, tt.b.Dashed, s)
1071
+ }), new G.Action({
1072
+ icon: ot,
1073
+ label: Object(a.t)("Dotted line"),
1074
+ active: tt.b.Dotted === l,
1075
+ onExecute: () => i.setProperty(e, tt.b.Dotted, s)
1076
+ })], [i, e, l]);
1077
+ return n.a.createElement(H.a, {
1078
+ className: r,
1079
+ arrow: !1,
1080
+ content: n.a.createElement(F.a, {
1081
+ icon: st(l)
1082
+ }),
1083
+ title: s,
1084
+ "data-name": t["data-name"],
1085
+ menuDataName: t["data-name"] + "-menu"
1086
+ }, n.a.createElement(U.a, {
1087
+ items: c
1088
+ }));
1089
+ }
1090
+
1091
+ function st(t) {
1092
+ switch (t) {
1093
+ case tt.b.Solid:
1094
+ return et;
1095
+
1096
+ case tt.b.Dashed:
1097
+ return it;
1098
+
1099
+ case tt.b.Dotted:
1100
+ return ot;
1101
+
1102
+ default:
1103
+ return "";
1104
+ }
1105
+ }
1106
+
1107
+ const rt = [10, 11, 12, 14, 16, 20, 24, 28, 32, 40];
1108
+
1109
+ function at(t) {
1110
+ const {
1111
+ property: e,
1112
+ model: i,
1113
+ title: o,
1114
+ className: s
1115
+ } = t,
1116
+ r = Object(E.a)(e),
1117
+ a = rt.map(t => new G.Action({
1118
+ label: t.toString(),
1119
+ onExecute: () => i.setProperty(e, t, o),
1120
+ active: t === r
1121
+ }));
1122
+ return n.a.createElement(H.a, {
1123
+ arrow: !1,
1124
+ content: r,
1125
+ className: s,
1126
+ title: o,
1127
+ "data-name": t["data-name"],
1128
+ menuDataName: t["data-name"] + "-menu"
1129
+ }, n.a.createElement(U.a, {
1130
+ items: a
1131
+ }));
1132
+ }
1133
+
1134
+ var lt = i("aIyQ"),
1135
+ ct = i.n(lt);
1136
+ i("m/4m"), i("ADFN");
1137
+
1138
+ class dt extends y.b {
1139
+ constructor(t) {
1140
+ super(dt._prepareOptions(t)), this._onWidgetStateChangedDelegate = new ct.a(), this._statedWidgets = [], this._currentPopup = null, this._onWindowClickedListener = this._onWindowClicked.bind(this);
1141
+ }
1142
+
1143
+ show() {
1144
+ super.show(), document.addEventListener("mousedown", this._onWindowClickedListener);
1145
+ }
1146
+
1147
+ hide(t) {
1148
+ super.hide(t), document.removeEventListener("mousedown", this._onWindowClickedListener);
1149
+ }
1150
+
1151
+ destroy() {
1152
+ this._closePopup(), super.destroy();
1153
+ }
1154
+
1155
+ addGroupedWidget(t) {
1156
+ let e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1157
+ Object(_.assert)(t.states.length > 0 && -1 !== dt._getStateIndexById(t, t.currentStateId), "Argument is invalid (count: ".concat(t.states.length, ", state: ").concat(t.currentStateId, ")"));
1158
+ const i = document.createElement("div");
1159
+ i.className = "tv-grouped-floating-toolbar__widget-wrapper apply-common-tooltip", t.widgetAddClass && i.classList.add(t.widgetAddClass), i.setAttribute("title", t.tooltip);
1160
+
1161
+ const o = {
1162
+ isEnabled: !0,
1163
+ statedWidget: t,
1164
+ toolbarWidget: i
1165
+ },
1166
+ n = this._onWidgetClicked.bind(this, o);
1167
+
1168
+ o.clickListener = n, i.addEventListener("click", n), this._updateWidgetPreview(o), this.addWidget(i, e), this._statedWidgets.push(o);
1169
+ }
1170
+
1171
+ findGroupedWidget(t) {
1172
+ const e = this._statedWidgets.length;
1173
+
1174
+ for (let i = 0; i < e; ++i) {
1175
+ if (this._statedWidgets[i].statedWidget.id === t) return i;
1176
+ }
1177
+
1178
+ return -1;
1179
+ }
1180
+
1181
+ removeGroupedWidget(t) {
1182
+ const e = this._statedWidgets.length;
1183
+
1184
+ for (let i = 0; i < e; ++i) {
1185
+ const e = this._statedWidgets[i];
1186
+ if (e.statedWidget.id === t) return this._isPopupCreatedForWidget(t) && this._closePopup(), void 0 !== e.clickListener && e.toolbarWidget.removeEventListener("click", e.clickListener), this.removeWidget(e.toolbarWidget), this._statedWidgets.splice(i, 1), void this._updatePopupPosition();
1187
+ }
1188
+
1189
+ Object(_.assert)(!1, "Unknown groupId(".concat(t, ")"));
1190
+ }
1191
+
1192
+ updateGroupedWidget(t, e) {
1193
+ this._closePopup();
1194
+
1195
+ const i = this._ensuredGetWidgetDataForId(t);
1196
+
1197
+ i.statedWidget.currentStateId = e.currentStateId, i.statedWidget.states = e.states, this._updateWidgetPreview(i);
1198
+ }
1199
+
1200
+ setGroupedWidgetEnabled(t, e) {
1201
+ const i = this._ensuredGetWidgetDataForId(t);
1202
+
1203
+ i.isEnabled = e, i.toolbarWidget.classList.toggle("i-disabled", !e);
1204
+ }
1205
+
1206
+ setGroupedWidgetState(t, e) {
1207
+ const i = this._ensuredGetWidgetDataForId(t);
1208
+
1209
+ Object(_.assert)(-1 !== dt._getStateIndexById(i.statedWidget, e), "Unknown stateId (".concat(e, ")")), i.statedWidget.currentStateId = e, this._updateSubWidgetsState(i.statedWidget), this._updateWidgetPreview(i);
1210
+ }
1211
+
1212
+ onWidgetStateChanged() {
1213
+ return this._onWidgetStateChangedDelegate;
1214
+ }
1215
+
1216
+ _onVerticalChanged(t, e) {
1217
+ this._updatePopupPosition();
1218
+ }
1219
+
1220
+ _ensuredGetWidgetDataForId(t) {
1221
+ for (const e of this._statedWidgets) if (e.statedWidget.id === t) return e;
1222
+
1223
+ throw new Error("Unknown groupId(".concat(t, ")"));
1224
+ }
1225
+
1226
+ _onWidgetClicked(t, e) {
1227
+ const i = this._currentPopup && this._isPopupCreatedForWidget(t.statedWidget.id);
1228
+
1229
+ this._closePopup(), !i && t.isEnabled && this._createPopup(t);
1230
+ }
1231
+
1232
+ _createPopup(t) {
1233
+ const e = {
1234
+ createdFor: t.toolbarWidget,
1235
+ element: document.createElement("div"),
1236
+ stateWidgetId: t.statedWidget.id,
1237
+ widgets: []
1238
+ };
1239
+ e.element.className += "tv-grouped-floating-toolbar__popup js-popup";
1240
+ const i = t.statedWidget.states.length;
1241
+ t.statedWidget.states.forEach((o, n) => {
1242
+ const s = this._createSubWidget(t, o),
1243
+ r = this._onSubWidgetClicked.bind(this, t, o.id);
1244
+
1245
+ s.addEventListener("click", r), e.widgets.push({
1246
+ clickListener: r,
1247
+ stateWidget: o,
1248
+ widget: s
1249
+ }), s.classList.add("tv-grouped-floating-toolbar__sub-widget--slide-right-" + n), s.classList.add("tv-grouped-floating-toolbar__sub-widget--slide-left-" + (i - n + 1)), o.readonly || e.element.appendChild(s);
1250
+ }), this._currentPopup = e, this._updateSubWidgetsState(t.statedWidget), t.toolbarWidget.classList.add("i-dropped"), this._getWidget().appendChild(this._currentPopup.element), Promise.resolve().then(() => {
1251
+ this._currentPopup && this._currentPopup.element.classList.add("i-opened");
1252
+ }), this._updatePopupPosition();
1253
+ }
1254
+
1255
+ _closePopup() {
1256
+ if (this._statedWidgets.forEach(t => {
1257
+ t.toolbarWidget.classList.remove("i-dropped");
1258
+ }), !this._currentPopup) return;
1259
+ const t = this._currentPopup.widgets,
1260
+ e = this._currentPopup.element;
1261
+ this._currentPopup = null, t.forEach(t => {
1262
+ t.widget.removeEventListener("click", t.clickListener);
1263
+ }), e.classList.remove("i-opened"), e.addEventListener("transitionend", t => {
1264
+ t.target === e && this._getWidget().removeChild(e);
1265
+ });
1266
+ }
1267
+
1268
+ _updateWidgetPreview(t) {
1269
+ const e = dt._getStateIndexById(t.statedWidget, t.statedWidget.currentStateId);
1270
+
1271
+ Object(_.assert)(-1 !== e, "Unknown state id: " + t.statedWidget.currentStateId);
1272
+ const i = t.statedWidget.states[e].widget.cloneNode(!0);
1273
+ t.toolbarWidget.firstChild ? t.toolbarWidget.replaceChild(i, t.toolbarWidget.firstChild) : (t.toolbarWidget.appendChild(i), t.toolbarWidget.appendChild(dt._createCaret()));
1274
+ }
1275
+
1276
+ _updateSubWidgetsState(t) {
1277
+ this._currentPopup && this._isPopupCreatedForWidget(t.id) && this._currentPopup.widgets.forEach(e => {
1278
+ e.widget.classList.toggle(dt._activeSubWidgetClass, e.stateWidget.id === t.currentStateId);
1279
+ });
1280
+ }
1281
+
1282
+ _updatePopupPosition() {
1283
+ if (!this._currentPopup) return;
1284
+
1285
+ const t = this._currentPopup.createdFor,
1286
+ e = this._getWidget().getBoundingClientRect(),
1287
+ i = this._findWrapperForWidget(t);
1288
+
1289
+ if (!i || !this._currentPopup) throw new Error("Toolbar has no wrapper for preview's widget or there is no popup");
1290
+
1291
+ const o = i.getBoundingClientRect(),
1292
+ n = this._currentPopup.element.getBoundingClientRect(),
1293
+ s = this._currentPopup.element;
1294
+
1295
+ if (this.isVertical()) s.classList.remove("tv-grouped-floating-toolbar__popup--at-top"), s.style.top = o.top - e.top + 1 + "px", s.style.left = "", e.left > window.innerWidth - e.right ? s.classList.add("tv-grouped-floating-toolbar__popup--at-left") : s.classList.remove("tv-grouped-floating-toolbar__popup--at-left");else {
1296
+ s.classList.remove("tv-grouped-floating-toolbar__popup--at-left");
1297
+ let t = 0;
1298
+ o.left + n.width > window.innerWidth ? e.left + n.width > window.innerWidth && (t = e.width - n.width) : t = o.left - e.left + 1, s.style.left = t + "px", e.bottom + n.height > window.innerHeight ? s.classList.add("tv-grouped-floating-toolbar__popup--at-top") : (s.classList.remove("tv-grouped-floating-toolbar__popup--at-top"), s.style.top = "");
1299
+ }
1300
+ }
1301
+
1302
+ _isPopupCreatedForWidget(t) {
1303
+ return Boolean(this._currentPopup && this._currentPopup.stateWidgetId === t);
1304
+ }
1305
+
1306
+ _createSubWidget(t, e) {
1307
+ const i = document.createElement("div");
1308
+ return i.className += "tv-grouped-floating-toolbar__sub-widget", t.statedWidget.stateWidgetAddClass && i.classList.add(t.statedWidget.stateWidgetAddClass), i.appendChild(e.widget), i;
1309
+ }
1310
+
1311
+ _onSubWidgetClicked(t, e) {
1312
+ this._closePopup(), t.statedWidget.currentStateId !== e && (this.setGroupedWidgetState(t.statedWidget.id, e), this._onWidgetStateChangedDelegate.fire(t.statedWidget.id, e));
1313
+ }
1314
+
1315
+ _onWindowClicked(t) {
1316
+ if (this.isVisible() && this._currentPopup && !dt._isEventInElement(t, this._currentPopup.element)) {
1317
+ for (let e = 0; e < this._statedWidgets.length; ++e) if (dt._isEventInElement(t, this._statedWidgets[e].toolbarWidget)) return;
1318
+
1319
+ this._closePopup();
1320
+ }
1321
+ }
1322
+
1323
+ static _getStateIndexById(t, e) {
1324
+ for (let i = 0; i < t.states.length; ++i) if (t.states[i].id === e) return i;
1325
+
1326
+ return -1;
1327
+ }
1328
+
1329
+ static _createCaret() {
1330
+ const t = document.createElement("div");
1331
+ return t.className = "tv-caret tv-caret--small tv-caret--colored tv-grouped-floating-toolbar__caret", t;
1332
+ }
1333
+
1334
+ static _prepareOptions(t) {
1335
+ return t.addClass ? t.addClass += " tv-grouped-floating-toolbar" : t.addClass = " tv-grouped-floating-toolbar", t;
1336
+ }
1337
+
1338
+ static _isEventInElement(t, e) {
1339
+ return t.target === e || e.contains(t.target);
1340
+ }
1341
+
1342
+ }
1343
+
1344
+ dt._activeSubWidgetClass = "tv-grouped-floating-toolbar__sub-widget--current";
1345
+ var ht = i("yMne"),
1346
+ ut = i("GxN8");
1347
+ i.d(e, "LineToolPropertiesWidgetBase", function () {
1348
+ return pt;
1349
+ });
1350
+
1351
+ class pt {
1352
+ constructor(t) {
1353
+ this._isDrawingFinished = new d.a(!0), this._currentTool = null, this._updateVisibilityTimeout = null, this._lineWidthsProperty = null, this._lineColorsProperty = null, this._currentProperties = null, this._container = null, this._toolbarRendered = !1, this._templatesButton = null, this._propertyButtons = [], this._commonButtons = [], this._handleSourceEdit = t => {
1354
+ p.isDirectionalMovementActive.value() || (t ? this._floatingToolbar.hide(!0) : this._toolbarRendered && this._floatingToolbar.show());
1355
+ }, this._chartWidgetCollection = t, this._floatingToolbar = new dt({
1356
+ defaultPosition: {
1357
+ top: ht.b + 15,
1358
+ left: window.innerWidth / 2
1359
+ },
1360
+ positionSettingsKey: "properties_toolbar.position",
1361
+ positionStorageType: "device",
1362
+ layout: "horizontal",
1363
+ "data-name": "drawing-toolbar"
1364
+ }), this._container = this._floatingToolbar.getReactWidgetContainer(), p.isToolMovingNow.subscribe(this._handleSourceEdit), p.isToolEditingNow.subscribe(this._handleSourceEdit);
1365
+ }
1366
+
1367
+ activeChartWidget() {
1368
+ return this._chartWidgetCollection.activeChartWidget.value();
1369
+ }
1370
+
1371
+ selectedSources() {
1372
+ return this._chartWidgetCollection.selectedSources.value();
1373
+ }
1374
+
1375
+ hide() {
1376
+ this._updateVisibilityTimeout && clearTimeout(this._updateVisibilityTimeout), this._updateVisibilityTimeout = setTimeout(() => {
1377
+ Object(u.unsetNewToolProperties)(), this._floatingToolbar.hide(!0), this._isToolbarRendered() && this._unmountToolbar(), this._clearProperties(), this._clearCommonButtons();
1378
+ }, 0);
1379
+ }
1380
+
1381
+ _clearProperties() {
1382
+ this._clearPropertyButtons(), this._lineWidthsProperty && (this._lineWidthsProperty.destroy(), this._lineWidthsProperty = null), this._lineColorsProperty && (this._lineColorsProperty.destroy(), this._lineColorsProperty = null), this._currentProperties && (this._currentProperties = null);
1383
+ }
1384
+
1385
+ _show() {
1386
+ this._updateVisibilityTimeout && clearTimeout(this._updateVisibilityTimeout), this._updateVisibilityTimeout = setTimeout(() => {
1387
+ this._renderToolbar(), this._floatingToolbar.show(), this._floatingToolbar.checkPosition();
1388
+ }, 0);
1389
+ }
1390
+
1391
+ _addPropertyButton(t) {
1392
+ this._propertyButtons.push(t), this._renderToolbar();
1393
+ }
1394
+
1395
+ _addCommonButton(t) {
1396
+ this._commonButtons.push(t), this._renderToolbar();
1397
+ }
1398
+
1399
+ _addTemplatesButton(t) {
1400
+ this._templatesButton = t;
1401
+ }
1402
+
1403
+ _renderToolbar() {
1404
+ null !== this._container && this.activeChartWidget() && this.activeChartWidget().hasModel() && (r.a.render(n.a.createElement(W, {
1405
+ templateButton: this._templatesButton,
1406
+ propertyButtons: this._propertyButtons,
1407
+ commonButtons: this._commonButtons,
1408
+ isDrawingFinished: this._isDrawingFinished.value(),
1409
+ activeChartWidget: this.activeChartWidget()
1410
+ }), this._container), this._toolbarRendered = !0);
1411
+ }
1412
+
1413
+ _unmountToolbar() {
1414
+ null !== this._container && (r.a.unmountComponentAtNode(this._container), this._toolbarRendered = !1);
1415
+ }
1416
+
1417
+ _clearTemplatesButton() {
1418
+ this._templatesButton = null;
1419
+ }
1420
+
1421
+ _clearPropertyButtons() {
1422
+ this._propertyButtons = [];
1423
+ }
1424
+
1425
+ _clearCommonButtons() {
1426
+ this._commonButtons = [];
1427
+ }
1428
+
1429
+ _isToolbarRendered() {
1430
+ return this._toolbarRendered;
1431
+ }
1432
+
1433
+ _createSettingsButton() {
1434
+ if (this.selectedSources().length > 1) return;
1435
+ const t = {
1436
+ component: L,
1437
+ props: {
1438
+ title: Object(a.t)("Settings"),
1439
+ activeChartWidget: this.activeChartWidget()
1440
+ }
1441
+ };
1442
+
1443
+ this._addCommonButton(t);
1444
+ }
1445
+
1446
+ _createLockButton() {
1447
+ const t = {
1448
+ component: R,
1449
+ props: {
1450
+ title: "Lock",
1451
+ activeChartWidget: this.activeChartWidget()
1452
+ }
1453
+ };
1454
+
1455
+ this._addCommonButton(t);
1456
+ }
1457
+
1458
+ _createRemoveButton() {
1459
+ const t = {
1460
+ component: j,
1461
+ props: {
1462
+ title: Object(a.t)("Remove"),
1463
+ activeChartWidget: this.activeChartWidget()
1464
+ },
1465
+ showForSmallScreen: !0
1466
+ };
1467
+
1468
+ this._addCommonButton(t);
1469
+ }
1470
+
1471
+ _createDotsButton() {
1472
+ this._addCommonButton({
1473
+ component: X,
1474
+ props: {
1475
+ title: Object(a.t)("More"),
1476
+ activeChartWidget: this.activeChartWidget()
1477
+ },
1478
+ showForSmallScreen: !0
1479
+ });
1480
+ }
1481
+
1482
+ _createAlertButton() {}
1483
+
1484
+ _createSourceActions() {
1485
+ this._createLockButton();
1486
+ }
1487
+
1488
+ _createLineStyleButton(t) {
1489
+ const e = this.selectedSources();
1490
+ if (0 === e.length) return !1;
1491
+ const i = e[0];
1492
+ if (!Object(ut.a)(i)) return !1;
1493
+ const o = {
1494
+ component: nt,
1495
+ props: {
1496
+ property: i.properties().linestyle || t,
1497
+ title: Object(a.t)("Style"),
1498
+ model: this.activeChartWidget().model(),
1499
+ "data-name": "style"
1500
+ }
1501
+ };
1502
+ return this._addPropertyButton(o), !0;
1503
+ }
1504
+
1505
+ _createFontSizeButton(t) {
1506
+ const e = this.selectedSources();
1507
+ if (0 === e.length) return !1;
1508
+ const i = e[0];
1509
+ if (!Object(ut.a)(i)) return !1;
1510
+ const o = {
1511
+ component: at,
1512
+ props: {
1513
+ property: i.properties().fontsize || t,
1514
+ title: Object(a.t)("Font Size"),
1515
+ model: this.activeChartWidget().model(),
1516
+ "data-name": "font-size"
1517
+ }
1518
+ };
1519
+ return this._addPropertyButton(o), !0;
1520
+ }
1521
+
1522
+ _createCommonButtons() {
1523
+ this._commonButtons.length && this._clearCommonButtons(), l.enabled("property_pages") && this._createSettingsButton(), this._createSourceActions(), this._createRemoveButton(), this._createDotsButton();
1524
+ }
1525
+
1526
+ _prepareProperties(t) {
1527
+ const e = this.selectedSources().filter(e => Object(u.isLineTool)(e) && e.properties()[t]);
1528
+ if (!(e.filter(e => e.properties()[t].visible()).length < 1)) return e.map(e => e.properties()[t]).filter(h.notNull);
1529
+ }
1530
+
1531
+ _createProperty(t, e, i, o) {
1532
+ if (e) {
1533
+ const t = this._prepareProperties(i);
1534
+
1535
+ if (!t) return;
1536
+ const e = this.activeChartWidget().model();
1537
+ return this._isWidthProperty(t[0]) ? new v(new g.MultipleLineWidthsProperty(t), e, o) : new w.b(new g.MultipleLineColorsProperty(t), e, o);
1538
+ }
1539
+
1540
+ if (t && t.visible()) return this._isWidthProperty(t) ? new g.MultipleLineWidthsProperty([t]) : new w.a(new g.MultipleLineColorsProperty([t]));
1541
+ }
1542
+
1543
+ _shouldShowBackgroundProperty(t, e) {
1544
+ return !e || !e.fillBackground || !!e.fillBackground.value();
1545
+ }
1546
+
1547
+ _isDrawingToolExcludingTweet(t) {
1548
+ return Boolean(null == t ? void 0 : t.toLowerCase().includes("linetool")) && "LineToolTweet" !== t;
1549
+ }
1550
+
1551
+ _isWidthProperty(t) {
1552
+ return t instanceof g.LineToolWidthsProperty;
1553
+ }
1554
+
1555
+ }
1556
+ },
1557
+ "W0/v": function W0V(t, e) {
1558
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17" width="17" height="17" fill="none"><path stroke="currentColor" d="M1.5 11.5l-.7.7a1 1 0 0 0-.3.71v3.59h3.59a1 1 0 0 0 .7-.3l.71-.7m-4-4l9-9m-9 9l2 2m2 2l9-9m-9 9l-2-2m11-7l1.3-1.3a1 1 0 0 0 0-1.4l-2.6-2.6a1 1 0 0 0-1.4 0l-1.3 1.3m4 4l-4-4m-7 11l9-9"/></svg>';
1559
+ },
1560
+ X1vi: function X1vi(t, e, i) {
1561
+ t.exports = {
1562
+ wrap: "wrap-2EG6_6QR",
1563
+ icon: "icon-2EG6_6QR",
1564
+ colorBg: "colorBg-2EG6_6QR",
1565
+ color: "color-2EG6_6QR",
1566
+ multicolor: "multicolor-2EG6_6QR",
1567
+ white: "white-2EG6_6QR"
1568
+ };
1569
+ },
1570
+ Xxuz: function Xxuz(t, e) {
1571
+ t.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" clip-rule="evenodd" d="M13 5.5c0-.28.22-.5.5-.5h1c.28 0 .5.22.5.5V7.05l.4.09c.9.18 1.73.53 2.46 1.02l.34.23.29-.3.81-.8c.2-.2.52-.2.71 0l.7.7.36-.35-.35.35c.2.2.2.51 0 .7l-.82.82-.29.29.23.34c.49.73.84 1.57 1.02 2.46l.08.4H22.5c.28 0 .5.22.5.5v1a.5.5 0 0 1-.5.5H20.95l-.09.4c-.18.9-.53 1.73-1.02 2.46l-.23.34.3.29.8.81c.2.2.2.52 0 .71l-.7.7a.5.5 0 0 1-.7 0l-.82-.8-.29-.3-.34.23c-.73.49-1.57.84-2.46 1.02l-.4.08V22.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5V20.95l-.4-.09a6.96 6.96 0 0 1-2.46-1.02l-.34-.23-.29.3-.81.8.35.36-.35-.35a.5.5 0 0 1-.71 0l-.7-.71a.5.5 0 0 1 0-.7l-.36-.36.35.35.82-.81.29-.29-.23-.34a6.96 6.96 0 0 1-1.02-2.46l-.08-.4H5.5a.5.5 0 0 1-.5-.5v-1c0-.28.22-.5.5-.5H7.05l.09-.4c.18-.9.53-1.73 1.02-2.46l.23-.34-.3-.29-.8-.81a.5.5 0 0 1 0-.71l.7-.7c.2-.2.51-.2.7 0l.82.8.29.3.34-.23a6.96 6.96 0 0 1 2.46-1.02l.4-.08V5.5zm.5-1.5c-.83 0-1.5.67-1.5 1.5v.75c-.73.2-1.43.48-2.06.86l-.54-.53a1.5 1.5 0 0 0-2.12 0l-.7.7a1.5 1.5 0 0 0 0 2.12l.53.54A7.95 7.95 0 0 0 6.25 12H5.5c-.83 0-1.5.67-1.5 1.5v1c0 .83.67 1.5 1.5 1.5h.75c.2.73.48 1.43.86 2.06l-.53.54a1.5 1.5 0 0 0 0 2.12l.7.7a1.5 1.5 0 0 0 2.12 0l.54-.53c.63.38 1.33.67 2.06.86v.75c0 .83.67 1.5 1.5 1.5h1c.83 0 1.5-.67 1.5-1.5v-.75a7.95 7.95 0 0 0 2.06-.86l.54.53a1.5 1.5 0 0 0 2.12 0l.7-.7a1.5 1.5 0 0 0 0-2.12l-.53-.54c.38-.63.67-1.33.86-2.06h.75c.83 0 1.5-.67 1.5-1.5v-1c0-.83-.67-1.5-1.5-1.5h-.75a7.95 7.95 0 0 0-.86-2.06l.53-.54a1.5 1.5 0 0 0 0-2.12l-.7-.7a1.5 1.5 0 0 0-2.12 0l-.54.53A7.95 7.95 0 0 0 16 6.25V5.5c0-.83-.67-1.5-1.5-1.5h-1zM12 14a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm2-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6z"/></svg>';
1572
+ },
1573
+ "ZSM+": function ZSM(t, e) {
1574
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" fill="currentColor"><circle cx="9" cy="14" r="1"/><circle cx="4" cy="14" r="1"/><circle cx="14" cy="14" r="1"/><circle cx="19" cy="14" r="1"/><circle cx="24" cy="14" r="1"/></svg>';
1575
+ },
1576
+ ZWNO: function ZWNO(t, e, i) {
1577
+ "use strict";
1578
+
1579
+ function o(t) {
1580
+ let e = 0;
1581
+ return t.isTop && t.isLeft || (e += 1), t.isTop && t.isRight || (e += 2), t.isBottom && t.isLeft || (e += 8), t.isBottom && t.isRight || (e += 4), e;
1582
+ }
1583
+
1584
+ i.d(e, "a", function () {
1585
+ return o;
1586
+ });
1587
+ },
1588
+ bQEj: function bQEj(t, e) {
1589
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path stroke="currentColor" d="M4 13.5h20"/></svg>';
1590
+ },
1591
+ dRg2: function dRg2(t, e, i) {
1592
+ t.exports = {
1593
+ item: "item-3Te2Sp8a",
1594
+ withIcon: "withIcon-3Te2Sp8a",
1595
+ icon: "icon-3Te2Sp8a",
1596
+ labelRow: "labelRow-3Te2Sp8a",
1597
+ multiWidth: "multiWidth-3Te2Sp8a",
1598
+ buttonWrap: "buttonWrap-3Te2Sp8a",
1599
+ buttonLabel: "buttonLabel-3Te2Sp8a"
1600
+ };
1601
+ },
1602
+ gmn6: function gmn6(t, e, i) {
1603
+ "use strict";
1604
+
1605
+ i.r(e), i.d(e, "FavoriteDrawingToolbar", function () {
1606
+ return g;
1607
+ });
1608
+ i("YFKU");
1609
+ var o = i("0ZwQ"),
1610
+ n = i("b2d7"),
1611
+ s = i("8+VR"),
1612
+ r = i("gWrr"),
1613
+ a = i("7KDR"),
1614
+ l = i("5VQP"),
1615
+ c = i("mMWL"),
1616
+ d = i("MP+M"),
1617
+ h = i("Vdly"),
1618
+ u = i("hY0g"),
1619
+ p = i.n(u);
1620
+ i("4QAy");
1621
+
1622
+ class g extends o.b {
1623
+ constructor(t) {
1624
+ super({
1625
+ allowSortable: !s.mobiletouch,
1626
+ dragOnlyInsideToolbar: !0,
1627
+ defaultPosition: t,
1628
+ positionSettingsKey: "chart.favoriteDrawingsPosition",
1629
+ positionStorageType: "device"
1630
+ }), this._linetoolsWidgets = {}, this._canBeShownValue = new p.a(!1), this._attachHandlers(), this._loadVisibilityState(), this._hideAction = this._createHideToolbarAction();
1631
+ }
1632
+
1633
+ show() {
1634
+ this._canBeShownValue.value() && (h.setValue("ChartFavoriteDrawingToolbarWidget.visible", !0), this.isVisible() || this._renderAllLinetools(), super.show());
1635
+ }
1636
+
1637
+ hide() {
1638
+ h.setValue("ChartFavoriteDrawingToolbarWidget.visible", !1), super.hide();
1639
+ }
1640
+
1641
+ canBeShown() {
1642
+ return this._canBeShownValue.readonly();
1643
+ }
1644
+
1645
+ _onFavoriteAdded(t) {
1646
+ this._canBeShownValue.setValue(!0), this.addWidget(this._createLinetoolWidget(t)), this.show();
1647
+ }
1648
+
1649
+ _onFavoriteRemoved(t) {
1650
+ this.removeWidget(this._linetoolsWidgets[t]), delete this._linetoolsWidgets[t], 0 === n.a.favoritesCount() && (this._canBeShownValue.setValue(!1), this.hide());
1651
+ }
1652
+
1653
+ _onFavoriteMoved() {
1654
+ this._renderAllLinetools();
1655
+ }
1656
+
1657
+ _onSelectedLinetoolChanged(t) {
1658
+ Object.keys(this._linetoolsWidgets).forEach(e => {
1659
+ this._linetoolsWidgets[e].classList.toggle("i-active", t === e);
1660
+ });
1661
+ }
1662
+
1663
+ _createLinetoolWidget(t) {
1664
+ const e = "<span class=\"tv-favorited-drawings-toolbar__widget ".concat(t === c.tool.value() ? "i-active" : "", "\" title=\"").concat(d.a[t].localizedName, "\">").concat(d.a[t].icon, "</span>"),
1665
+ i = Object(r.b)(e);
1666
+ return i.addEventListener("click", e => {
1667
+ e.preventDefault(), c.tool.value() !== t && c.tool.setValue(t);
1668
+ }), this._linetoolsWidgets[t] = i, i;
1669
+ }
1670
+
1671
+ _renderAllLinetools() {
1672
+ this._linetoolsWidgets = {}, this.removeWidgets(), n.a.favorites().filter(t => d.a[t]).forEach(t => {
1673
+ this.addWidget(this._createLinetoolWidget(t));
1674
+ });
1675
+ }
1676
+
1677
+ _attachHandlers() {
1678
+ n.a.favoriteAdded.subscribe(this, this._onFavoriteAdded), n.a.favoriteRemoved.subscribe(this, this._onFavoriteRemoved), n.a.favoriteMoved.subscribe(this, this._onFavoriteMoved), n.a.favoritesSynced.subscribe(null, () => {
1679
+ this._loadVisibilityState(), this._renderAllLinetools();
1680
+ }), this.onWidgetsReordered().subscribe(this, (t, e) => {
1681
+ if (n.a.favoriteMoved.unsubscribe(this, this._onFavoriteMoved), !n.a.moveFavorite(n.a.favorite(t), e)) throw new Error("Something went wrong");
1682
+ n.a.favoriteMoved.subscribe(this, this._onFavoriteMoved);
1683
+ }), this.onContextMenu(t => {
1684
+ t.preventDefault(), l.ContextMenuManager.createMenu([this._hideAction]).then(e => {
1685
+ e.show(t);
1686
+ });
1687
+ }), c.tool.subscribe(this._onSelectedLinetoolChanged.bind(this));
1688
+ }
1689
+
1690
+ _createHideToolbarAction() {
1691
+ return new a.Action({
1692
+ label: window.t("Hide Favorite Drawing Tools Toolbar"),
1693
+ onExecute: () => {
1694
+ this.hide();
1695
+ }
1696
+ });
1697
+ }
1698
+
1699
+ _loadVisibilityState() {
1700
+ const t = n.a.favoritesCount() > 0;
1701
+
1702
+ this._canBeShownValue.setValue(t);
1703
+
1704
+ h.getBool("ChartFavoriteDrawingToolbarWidget.visible", !0) && t ? this.show() : this.hide();
1705
+ }
1706
+
1707
+ }
1708
+ },
1709
+ "m/4m": function m4m(t, e, i) {},
1710
+ mQbF: function mQbF(t, e) {
1711
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 15" width="13" height="15" fill="none"><path stroke="currentColor" d="M4 14.5h2.5m2.5 0H6.5m0 0V.5m0 0h-5a1 1 0 0 0-1 1V4m6-3.5h5a1 1 0 0 1 1 1V4"/></svg>';
1712
+ },
1713
+ myiL: function myiL(t, e, i) {
1714
+ "use strict";
1715
+
1716
+ i.r(e), i.d(e, "LineWidthButton", function () {
1717
+ return f;
1718
+ });
1719
+
1720
+ var o = i("q1tI"),
1721
+ n = i.n(o),
1722
+ s = i("TSYQ"),
1723
+ r = i("Eyy1"),
1724
+ a = i("Iivm"),
1725
+ l = i("82wv"),
1726
+ c = i("5hRh"),
1727
+ d = i("N5tr"),
1728
+ h = i("nPPD"),
1729
+ u = i("O5Oz"),
1730
+ p = i("xnr+"),
1731
+ g = i("n3oB"),
1732
+ _ = i("2F1E"),
1733
+ m = i("Lnv9"),
1734
+ b = i("dRg2");
1735
+
1736
+ const v = Object(h.a)(d.a, b),
1737
+ w = [{
1738
+ value: 1,
1739
+ icon: u
1740
+ }, {
1741
+ value: 2,
1742
+ icon: p
1743
+ }, {
1744
+ value: 3,
1745
+ icon: g
1746
+ }, {
1747
+ value: 4,
1748
+ icon: _
1749
+ }];
1750
+
1751
+ function f(t) {
1752
+ const {
1753
+ multipleProperty: e,
1754
+ title: i,
1755
+ model: o,
1756
+ className: h,
1757
+ isSmallScreen: u
1758
+ } = t,
1759
+ p = Object(c.a)(Object(r.ensureDefined)(e)),
1760
+ g = "mixed" === p || !p,
1761
+ _ = function (t) {
1762
+ const e = w.find(e => e.value === t);
1763
+ if (!e) return m;
1764
+ return e.icon;
1765
+ }(p);
1766
+
1767
+ return n.a.createElement(l.a, {
1768
+ className: h,
1769
+ arrow: !1,
1770
+ title: i,
1771
+ "data-name": t["data-name"],
1772
+ menuDataName: t["data-name"] + "-menu",
1773
+ content: n.a.createElement("div", null, g ? n.a.createElement("div", {
1774
+ className: b.multiWidth
1775
+ }, n.a.createElement(a.a, {
1776
+ icon: m
1777
+ })) : n.a.createElement("div", {
1778
+ className: b.buttonWrap
1779
+ }, !u && n.a.createElement(a.a, {
1780
+ icon: _
1781
+ }), n.a.createElement("div", {
1782
+ className: s(!u && b.buttonLabel)
1783
+ }, p + "px")))
1784
+ }, w.map(_ref2 => {
1785
+ let {
1786
+ value: t,
1787
+ icon: e
1788
+ } = _ref2;
1789
+ return n.a.createElement(d.b, {
1790
+ key: t,
1791
+ theme: v,
1792
+ label: t + "px",
1793
+ icon: e,
1794
+ isActive: t === p,
1795
+ onClick: f,
1796
+ onClickArg: t
1797
+ });
1798
+ }));
1799
+
1800
+ function f(t) {
1801
+ t && e && (o.beginUndoMacro(i), e.setValue(t, void 0, {
1802
+ applyValue: (t, e) => {
1803
+ o.setProperty(t, e, i);
1804
+ }
1805
+ }), o.endUndoMacro());
1806
+ }
1807
+ }
1808
+ },
1809
+ n3oB: function n3oB(t, e) {
1810
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 3" width="18" height="3"><rect width="18" height="3" fill="currentColor" rx="1.5"/></svg>';
1811
+ },
1812
+ "p0W+": function p0W(t, e, i) {
1813
+ "use strict";
1814
+
1815
+ i.d(e, "a", function () {
1816
+ return a;
1817
+ });
1818
+ var o = i("q1tI"),
1819
+ n = i("TSYQ"),
1820
+ s = i("tU7i"),
1821
+ r = i("EvtC");
1822
+ const a = o.forwardRef((t, e) => {
1823
+ const {
1824
+ className: i
1825
+ } = t,
1826
+ a = _objectWithoutProperties(t, _excluded2);
1827
+
1828
+ return o.createElement(s.b, _objectSpread(_objectSpread({}, a), {}, {
1829
+ ref: e,
1830
+ className: n(i, r.button)
1831
+ }));
1832
+ });
1833
+ },
1834
+ qAO1: function qAO1(t, e) {
1835
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 12" width="8" height="12" fill="currentColor"><rect width="2" height="2" rx="1"/><rect width="2" height="2" rx="1" y="5"/><rect width="2" height="2" rx="1" y="10"/><rect width="2" height="2" rx="1" x="6"/><rect width="2" height="2" rx="1" x="6" y="5"/><rect width="2" height="2" rx="1" x="6" y="10"/></svg>';
1836
+ },
1837
+ rzV7: function rzV7(t, e, i) {
1838
+ "use strict";
1839
+
1840
+ var o = Object.prototype.hasOwnProperty;
1841
+
1842
+ function n(t, e) {
1843
+ return t === e ? 0 !== t || 0 !== e || 1 / t == 1 / e : t != t && e != e;
1844
+ }
1845
+
1846
+ t.exports = function (t, e) {
1847
+ if (n(t, e)) return !0;
1848
+ if ("object" != typeof t || null === t || "object" != typeof e || null === e) return !1;
1849
+ var i = Object.keys(t),
1850
+ s = Object.keys(e);
1851
+ if (i.length !== s.length) return !1;
1852
+
1853
+ for (var r = 0; r < i.length; r++) if (!o.call(e, i[r]) || !n(t[i[r]], e[i[r]])) return !1;
1854
+
1855
+ return !0;
1856
+ };
1857
+ },
1858
+ tPkB: function tPkB(t, e, i) {
1859
+ "use strict";
1860
+
1861
+ var o = i("YFKU").t,
1862
+ n = i("mMWL"),
1863
+ s = i("Ve4Q").LineToolPropertiesWidgetBase,
1864
+ r = i("e92V").isLineDrawnWithPressedButton,
1865
+ a = i("CW80").isLineTool;
1866
+ const l = i("IhRv").ColorPickerButton,
1867
+ c = i("myiL").LineWidthButton;
1868
+ i("CW80").setNewToolProperties;
1869
+ var d = i("W0/v"),
1870
+ h = i("0fuu"),
1871
+ u = i("mQbF"),
1872
+ p = window.t("Color");
1873
+
1874
+ class g extends s {
1875
+ constructor(t) {
1876
+ super(t), this._hasAlertWathcedValue = null, this._templatesButton = null, this.attachHandlers();
1877
+ }
1878
+
1879
+ attachHandlers() {
1880
+ n.tool.subscribe(this.onToolChanged.bind(this), {
1881
+ callWithLast: !0
1882
+ }), n.iconTool.subscribe(this.onIconToolChanged.bind(this)), this._chartWidgetCollection.selectedSources.subscribe(this.onSourceChanged.bind(this));
1883
+ }
1884
+
1885
+ onIconToolChanged() {
1886
+ this.onToolChanged(n.tool.value());
1887
+ }
1888
+
1889
+ onToolChanged(t, e) {
1890
+ this._currentTool = t;
1891
+ const i = this.selectedSources();
1892
+ this._isDrawingToolExcludingTweet(t) ? (this._isDrawingFinished.setValue(!1), this._updateVisibility()) : i && i.length ? (i.length > 1 && this._isDrawingFinished.setValue(!0), this.onSourceChanged(this.selectedSources())) : this.hide();
1893
+ }
1894
+
1895
+ findSourceOnWidget(t) {
1896
+ for (var e = 0; e < this.activeChartWidget().model().panes().length; e++) for (var i = this.activeChartWidget().model().panes()[e].sourcesByGroup().all(), o = 0; o < i.length; o++) if (i[o] === t) return i[o];
1897
+ }
1898
+
1899
+ onSourceChanged(t) {
1900
+ if (this._hasAlertWathcedValue && (this._hasAlertWathcedValue.destroy(), this._hasAlertWathcedValue = null), t && t.length && (1 !== t.length || a(t[0]))) {
1901
+ if (this._createCommonButtons(), 1 === t.length) {
1902
+ var e = t[0];
1903
+ e.isAvailableInFloatingWidget() && this.findSourceOnWidget(e) ? (!e.userEditEnabled() || !r(e.toolname) && this.activeChartWidget().model().lineBeingCreated() || (this._isDrawingFinished.setValue(!0), e.canHasAlert() && (this._hasAlertWathcedValue = e.hasAlert.spawn())), this.showPropertiesOf(e.toolname, e.properties(), !0), this.showTemplatesOf({
1904
+ source: e
1905
+ }), this._toolbarVisible = !0, this._updateVisibility()) : this.hide();
1906
+ } else this._clearProperties(), this._templatesButton && (this._clearTemplatesButton(), this._templatesButton = null), this._updateVisibility(), this._createWidthsButton(void 0, !0), this._createColorsButton(void 0, !0), this._createBackgroundsButton(void 0, !0), this._createTextColorsButton(void 0, !0);
1907
+ } else this.hide();
1908
+ }
1909
+
1910
+ _createWidthsButton(t, e) {
1911
+ if (this._lineWidthsProperty && (this._lineWidthsProperty.destroy(), this._lineWidthsProperty = null), this._lineWidthsProperty = this._createProperty(t, e, "linesWidths", "Set Line tool(s) line width"), !this._lineWidthsProperty) return !0;
1912
+ var i = window.t("Line tool width");
1913
+ e && 1 !== this.selectedSources().filter(function (t) {
1914
+ return a(t) && t.properties().linesWidths;
1915
+ }).length && (i = window.t("Line tool widths"));
1916
+ return this._addPropertyButton({
1917
+ component: c,
1918
+ props: {
1919
+ title: i,
1920
+ multipleProperty: this._lineWidthsProperty,
1921
+ model: this.activeChartWidget().model(),
1922
+ "data-name": "line-tool-width"
1923
+ }
1924
+ }), !0;
1925
+ }
1926
+
1927
+ _createColorsButton(t, e) {
1928
+ return this._lineColorsProperty && (this._lineColorsProperty.destroy(), this._lineColorsProperty = null), this._lineColorsProperty = this._createProperty(t, e, "linesColors", "Set Line tool(s) color"), !this._lineColorsProperty || (this._addPropertyButton({
1929
+ component: l,
1930
+ props: {
1931
+ icon: d,
1932
+ title: window.t("Line tool colors"),
1933
+ property: this._lineColorsProperty,
1934
+ model: this.activeChartWidget().model(),
1935
+ "data-name": "line-tool-color"
1936
+ }
1937
+ }), !0);
1938
+ }
1939
+
1940
+ _createBackgroundsButton(t, e) {
1941
+ return this._backgroundsProperty && (this._backgroundsProperty.destroy(), this._backgroundsProperty = null), this._backgroundsProperty = this._createProperty(t, e, "backgroundsColors", "Set Line background(s) color"), !this._backgroundsProperty || (this._addPropertyButton({
1942
+ component: l,
1943
+ props: {
1944
+ icon: h,
1945
+ title: window.t("Line tool backgrounds"),
1946
+ property: this._backgroundsProperty,
1947
+ model: this.activeChartWidget().model(),
1948
+ "data-name": "background-color"
1949
+ }
1950
+ }), !0);
1951
+ }
1952
+
1953
+ _createTextColorsButton(t, e) {
1954
+ return this._textColorsProperty && (this._textColorsProperty.destroy(), this._textColorsProperty = null), this._textColorsProperty = this._createProperty(t, e, "textsColors", "Set Line tool(s) text color"), !this._textColorsProperty || (this._addPropertyButton({
1955
+ component: l,
1956
+ props: {
1957
+ icon: u,
1958
+ title: window.t("Line tool text colors"),
1959
+ property: this._textColorsProperty,
1960
+ model: this.activeChartWidget().model(),
1961
+ "data-name": "text-color"
1962
+ }
1963
+ }), !0);
1964
+ }
1965
+
1966
+ showTemplatesOf(t) {}
1967
+
1968
+ templatesList() {
1969
+ return this._templatesList;
1970
+ }
1971
+
1972
+ _getPossibleProperty(t) {
1973
+ for (var e = [], i = this._defaultToolProperties(), o = 0; o < i.length; o++) {
1974
+ var n = i[o];
1975
+ n.name in t && e.push(n);
1976
+ }
1977
+
1978
+ return e;
1979
+ }
1980
+
1981
+ showPropertiesOf(t, e, i) {
1982
+ this._toolExceptionCases || (this._toolExceptionCases = this._createToolExceptionCases());
1983
+
1984
+ var o = this._toolExceptionCases[t] || this._getPossibleProperty(e);
1985
+
1986
+ if (this._clearProperties(), this._propertiesVisible = !1, o.length) {
1987
+ for (var n = {}, s = 0; s < o.length; s++) {
1988
+ for (var r = o[s], a = e, c = r.name.split("."), d = 0; d < c.length; ++d) a = a && a[c[d]];
1989
+
1990
+ var h = r.showIf;
1991
+
1992
+ if ("function" != typeof h || h(a, e)) {
1993
+ var u = r.factory;
1994
+ if (u && u.call(this, a, i)) continue;
1995
+ if (!a) continue;
1996
+
1997
+ if (this._propertiesVisible = !0, "combobox" !== r.inputType) {
1998
+ const t = {
1999
+ component: l,
2000
+ props: {
2001
+ icon: r.iconSvgCode,
2002
+ title: r.title,
2003
+ "data-name": r.dataName,
2004
+ property: a,
2005
+ model: this.activeChartWidget().model()
2006
+ }
2007
+ };
2008
+
2009
+ this._addPropertyButton(t);
2010
+
2011
+ continue;
2012
+ }
2013
+
2014
+ n[r.name] = a;
2015
+ }
2016
+ }
2017
+
2018
+ this._currentProperties = n;
2019
+ }
2020
+ }
2021
+
2022
+ _updateVisibility() {
2023
+ this._isDrawingFinished.value() && (this._toolbarVisible || this._propertiesVisible) ? this._show() : this.hide();
2024
+ }
2025
+
2026
+ refresh() {
2027
+ this.onSourceChanged(this.selectedSources());
2028
+ }
2029
+
2030
+ _defaultToolProperties() {
2031
+ return [{
2032
+ name: "linesColors",
2033
+ inputType: "colorPicker",
2034
+ iconSvgCode: d,
2035
+ title: p,
2036
+ factory: g.prototype._createColorsButton,
2037
+ dataName: "line-tool-color"
2038
+ }, {
2039
+ name: "backgroundsColors",
2040
+ inputType: "colorPicker",
2041
+ iconSvgCode: h,
2042
+ title: o("Background Color"),
2043
+ factory: g.prototype._createBackgroundsButton,
2044
+ dataName: "background-color",
2045
+ showIf: this._shouldShowBackgroundProperty
2046
+ }, {
2047
+ name: "textsColors",
2048
+ title: o("Text color"),
2049
+ inputType: "colorPicker",
2050
+ iconSvgCode: u,
2051
+ factory: g.prototype._createTextColorsButton,
2052
+ dataName: "text-color"
2053
+ }, {
2054
+ name: "linesWidths",
2055
+ inputType: "combobox",
2056
+ factory: g.prototype._createWidthsButton
2057
+ }, {
2058
+ name: "linestyle",
2059
+ title: o("Style"),
2060
+ inputType: "combobox",
2061
+ factory: g.prototype._createLineStyleButton
2062
+ }];
2063
+ }
2064
+
2065
+ _riskPropertiesExceptionCases() {
2066
+ return [{
2067
+ name: "textcolor",
2068
+ title: o("Text color"),
2069
+ inputType: "colorPicker",
2070
+ iconSvgCode: u,
2071
+ dataName: "text-color"
2072
+ }, {
2073
+ name: "profitBackground",
2074
+ title: o("Profit Background Color"),
2075
+ inputType: "colorPicker",
2076
+ iconSvgCode: h,
2077
+ dataName: "background-color"
2078
+ }, {
2079
+ name: "stopBackground",
2080
+ title: o("Stop Background Color"),
2081
+ inputType: "colorPicker",
2082
+ iconSvgCode: h,
2083
+ dataName: "background-color"
2084
+ }];
2085
+ }
2086
+
2087
+ _rangeExceptionCases() {
2088
+ return [{
2089
+ name: "linecolor",
2090
+ inputType: "colorPicker",
2091
+ iconSvgCode: d,
2092
+ title: p,
2093
+ dataName: "line-tool-color"
2094
+ }, {
2095
+ name: "backgroundColor",
2096
+ inputType: "colorPicker",
2097
+ iconSvgCode: h,
2098
+ title: o("Background Color"),
2099
+ dataName: "background-color",
2100
+ showIf: this._shouldShowBackgroundProperty
2101
+ }, {
2102
+ name: "linesWidths",
2103
+ inputType: "combobox",
2104
+ factory: g.prototype._createWidthsButton
2105
+ }];
2106
+ }
2107
+
2108
+ _brushPropertiesExceptionCase() {
2109
+ return [{
2110
+ name: "linesColors",
2111
+ inputType: "colorPicker",
2112
+ iconSvgCode: d,
2113
+ title: o("Color"),
2114
+ factory: g.prototype._createColorsButton,
2115
+ dataName: "line-tool-color"
2116
+ }, {
2117
+ name: "backgroundsColors",
2118
+ inputType: "colorPicker",
2119
+ iconSvgCode: h,
2120
+ title: o("Background Color"),
2121
+ dataName: "background-color",
2122
+ factory: g.prototype._createBackgroundsButton
2123
+ }, {
2124
+ name: "linesWidths",
2125
+ inputType: "combobox",
2126
+ factory: g.prototype._createWidthsButton
2127
+ }];
2128
+ }
2129
+
2130
+ _bezierPropertiesExceptionCases() {
2131
+ return [{
2132
+ name: "linesColors",
2133
+ inputType: "colorPicker",
2134
+ iconSvgCode: d,
2135
+ title: o("Color"),
2136
+ factory: g.prototype._createColorsButton,
2137
+ dataName: "line-tool-color"
2138
+ }, {
2139
+ name: "backgroundsColors",
2140
+ inputType: "colorPicker",
2141
+ iconSvgCode: h,
2142
+ dataName: "background-color",
2143
+ title: o("Background Color"),
2144
+ factory: g.prototype._createBackgroundsButton,
2145
+ showIf: this._shouldShowBackgroundProperty
2146
+ }, {
2147
+ name: "linesWidths",
2148
+ inputType: "combobox",
2149
+ factory: g.prototype._createWidthsButton
2150
+ }, {
2151
+ name: "linestyle",
2152
+ title: o("Style"),
2153
+ inputType: "combobox",
2154
+ factory: g.prototype._createLineStyleButton
2155
+ }];
2156
+ }
2157
+
2158
+ _textPropertiesExceptionCases() {
2159
+ return [{
2160
+ name: "color",
2161
+ title: o("Text color"),
2162
+ inputType: "colorPicker",
2163
+ iconSvgCode: u,
2164
+ dataName: "text-color"
2165
+ }, {
2166
+ name: "backgroundColor",
2167
+ title: o("Background Color"),
2168
+ inputType: "colorPicker",
2169
+ iconSvgCode: h,
2170
+ dataName: "background-color",
2171
+ showIf: this._shouldShowBackgroundProperty
2172
+ }, {
2173
+ name: "fontsize",
2174
+ title: o("Font Size"),
2175
+ inputType: "combobox",
2176
+ factory: g.prototype._createFontSizeButton
2177
+ }];
2178
+ }
2179
+
2180
+ _notePropertiesExceptionCases() {
2181
+ return [{
2182
+ name: "markerColor",
2183
+ title: o("Marker Color"),
2184
+ inputType: "colorPicker",
2185
+ iconSvgCode: d,
2186
+ dataName: "line-tool-color"
2187
+ }, {
2188
+ name: "textColor",
2189
+ title: o("Text color"),
2190
+ inputType: "colorPicker",
2191
+ iconSvgCode: u,
2192
+ dataName: "text-color"
2193
+ }, {
2194
+ name: "fontSize",
2195
+ title: o("Font Size"),
2196
+ inputType: "combobox",
2197
+ factory: g.prototype._createFontSizeButton
2198
+ }];
2199
+ }
2200
+
2201
+ _createToolExceptionCases() {
2202
+ return {
2203
+ LineToolRegressionTrend: [],
2204
+ LineToolBrush: g.prototype._brushPropertiesExceptionCase(),
2205
+ LineToolBezierQuadro: g.prototype._bezierPropertiesExceptionCases(),
2206
+ LineToolBezierCubic: g.prototype._bezierPropertiesExceptionCases(),
2207
+ LineToolText: g.prototype._textPropertiesExceptionCases(),
2208
+ LineToolTextAbsolute: g.prototype._textPropertiesExceptionCases(),
2209
+ LineToolBalloon: g.prototype._textPropertiesExceptionCases(),
2210
+ LineToolCallout: g.prototype._textPropertiesExceptionCases(),
2211
+ LineToolPriceLabel: g.prototype._textPropertiesExceptionCases(),
2212
+ LineToolDateRange: g.prototype._rangeExceptionCases(),
2213
+ LineToolPriceRange: g.prototype._rangeExceptionCases(),
2214
+ LineToolDateAndPriceRange: g.prototype._rangeExceptionCases(),
2215
+ LineToolNote: g.prototype._notePropertiesExceptionCases(),
2216
+ LineToolNoteAbsolute: g.prototype._notePropertiesExceptionCases(),
2217
+ LineToolRiskRewardLong: g.prototype._riskPropertiesExceptionCases(),
2218
+ LineToolRiskRewardShort: g.prototype._riskPropertiesExceptionCases(),
2219
+ LineToolBarsPattern: [{
2220
+ name: "color",
2221
+ title: p,
2222
+ inputType: "colorPicker",
2223
+ iconSvgCode: h,
2224
+ dataName: "background-color"
2225
+ }],
2226
+ LineToolProjection: [{
2227
+ name: "color1",
2228
+ title: o("Background color 1"),
2229
+ inputType: "colorPicker",
2230
+ iconSvgCode: h,
2231
+ dataName: "background-color"
2232
+ }, {
2233
+ name: "color2",
2234
+ title: o("Background color 2"),
2235
+ inputType: "colorPicker",
2236
+ iconSvgCode: h,
2237
+ dataName: "background-color"
2238
+ }, {
2239
+ name: "linesWidths",
2240
+ inputType: "combobox",
2241
+ factory: g.prototype._createWidthsButton
2242
+ }],
2243
+ LineToolSignpost: [{
2244
+ name: "fontSize",
2245
+ title: o("Font Size"),
2246
+ inputType: "combobox"
2247
+ }, {
2248
+ name: "linesColors",
2249
+ inputType: "colorPicker",
2250
+ iconSvgCode: h,
2251
+ dataName: "background-color",
2252
+ title: p,
2253
+ factory: g.prototype._createBackgroundsButton,
2254
+ showIf: function showIf(t, e) {
2255
+ return e && e.showImage.value();
2256
+ }
2257
+ }]
2258
+ };
2259
+ }
2260
+
2261
+ }
2262
+
2263
+ t.exports = g;
2264
+ },
2265
+ turx: function turx(t, e, i) {
2266
+ "use strict";
2267
+
2268
+ i.d(e, "b", function () {
2269
+ return a;
2270
+ }), i.d(e, "a", function () {
2271
+ return l;
2272
+ });
2273
+ var o = i("Eyy1"),
2274
+ n = i("tc+8"),
2275
+ s = i.n(n);
2276
+
2277
+ class r extends s.a {
2278
+ constructor(t) {
2279
+ super(), this._listenersMappers = [], this._isProcess = !1, this._baseProperty = t;
2280
+ }
2281
+
2282
+ destroy() {
2283
+ this._baseProperty.destroy();
2284
+ }
2285
+
2286
+ value() {
2287
+ const t = this._baseProperty.value();
2288
+
2289
+ return "mixed" === t ? "" : t;
2290
+ }
2291
+
2292
+ visible() {
2293
+ return this._baseProperty.visible();
2294
+ }
2295
+
2296
+ setValue(t) {
2297
+ this._isProcess = !0, this._baseProperty.setValue("" === t ? "mixed" : t, void 0, {
2298
+ applyValue: this._applyValue.bind(this)
2299
+ }), this._isProcess = !1, this._listenersMappers.forEach(t => {
2300
+ t.method.call(t.obj, this);
2301
+ });
2302
+ }
2303
+
2304
+ subscribe(t, e) {
2305
+ const i = i => {
2306
+ this._isProcess || e.call(t, this);
2307
+ },
2308
+ o = {
2309
+ obj: t,
2310
+ method: e,
2311
+ callback: i
2312
+ };
2313
+
2314
+ this._listenersMappers.push(o), this._baseProperty.subscribe(t, i);
2315
+ }
2316
+
2317
+ unsubscribe(t, e) {
2318
+ var i;
2319
+ const n = Object(o.ensureDefined)(null === (i = this._listenersMappers.find(i => i.obj === t && i.method === e)) || void 0 === i ? void 0 : i.callback);
2320
+
2321
+ this._baseProperty.unsubscribe(t, n);
2322
+ }
2323
+
2324
+ unsubscribeAll(t) {
2325
+ this._baseProperty.unsubscribeAll(t);
2326
+ }
2327
+
2328
+ }
2329
+
2330
+ class a extends r {
2331
+ constructor(t, e, i) {
2332
+ super(t), this._undoModel = e, this._undoText = i;
2333
+ }
2334
+
2335
+ _applyValue(t, e) {
2336
+ this._undoModel.setProperty(t, e, this._undoText);
2337
+ }
2338
+
2339
+ }
2340
+
2341
+ class l extends r {
2342
+ _applyValue(t, e) {
2343
+ t.setValue(e);
2344
+ }
2345
+
2346
+ }
2347
+ },
2348
+ ucyy: function ucyy(t, e, i) {
2349
+ t.exports = {
2350
+ button: "button-1gEXpG61"
2351
+ };
2352
+ },
2353
+ wwkJ: function wwkJ(t, e, i) {
2354
+ "use strict";
2355
+
2356
+ i.d(e, "a", function () {
2357
+ return n;
2358
+ });
2359
+ var o = i("q1tI");
2360
+ const n = i.n(o).a.createContext({
2361
+ isGrouped: !1,
2362
+ cellState: {
2363
+ isTop: !0,
2364
+ isRight: !0,
2365
+ isBottom: !0,
2366
+ isLeft: !0
2367
+ }
2368
+ });
2369
+ },
2370
+ "xnr+": function xnr(t, e) {
2371
+ t.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 2" width="18" height="2"><rect width="18" height="2" fill="currentColor" rx="1"/></svg>';
2372
+ }
2373
+ }]);