@mobileaction/action-kit 1.45.0 → 1.45.2

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 (616) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/3square-bold-CJcXGzsm.js +18 -0
  3. package/dist/403-C7BxdMS4.js +33 -0
  4. package/dist/404-CrmzzOsJ.js +32 -0
  5. package/dist/500-ChzuizyP.js +33 -0
  6. package/dist/action-kit.mjs +180 -20260
  7. package/dist/activity-bulk-C-ZaSWp8.js +12 -0
  8. package/dist/add-CfLtdlT5.js +8 -0
  9. package/dist/add-app-B0KOgVxC.js +84 -0
  10. package/dist/add-bold-rJ0nWfUJ.js +7 -0
  11. package/dist/add-bulk-CkFgoJnG.js +11 -0
  12. package/dist/add-button-D8WydDUg.js +9 -0
  13. package/dist/add-circle-bold-DBqTkk3x.js +7 -0
  14. package/dist/add-circle-bulk-QF0YFF9b.js +11 -0
  15. package/dist/add-circle-yukhQprG.js +11 -0
  16. package/dist/add-square-BtF3-9Jr.js +9 -0
  17. package/dist/add-square-bold-Dtwj-RC4.js +7 -0
  18. package/dist/adjust-colorful-CFRBnedd.js +15 -0
  19. package/dist/affirm-QEEZEsAF.js +10 -0
  20. package/dist/aim-outlined-CQtHAhot.js +5 -0
  21. package/dist/airplane-bulk-C57TYNfm.js +8 -0
  22. package/dist/align-left-BpY-_KMu.js +13 -0
  23. package/dist/align-left-bold-hCKLkI9L.js +14 -0
  24. package/dist/align-left-bulk-BcZRUWo3.js +14 -0
  25. package/dist/alipay-6GQIdPUb.js +12 -0
  26. package/dist/amazon-f6mYBhSW.js +10 -0
  27. package/dist/amex-2-B_l_or5g.js +11 -0
  28. package/dist/amex-DLZu-uN7.js +9 -0
  29. package/dist/android-SZ9tOG27.js +10 -0
  30. package/dist/android-storefront-Dd8l94Xt.js +12 -0
  31. package/dist/angle-double-right-BDlMcWaF.js +9 -0
  32. package/dist/annotations-DJexnIAc.js +1257 -0
  33. package/dist/app-D8zF46nh.js +8 -0
  34. package/dist/app-store-CMr7S31B.js +7 -0
  35. package/dist/app-store-colorful-BondAyyq.js +24 -0
  36. package/dist/apple-C5dVRPeN.js +7 -0
  37. package/dist/apple-bold-xiJy62g9.js +8 -0
  38. package/dist/apple-storefront-DXOS8QRc.js +9 -0
  39. package/dist/apple-vision-pro-D4zEzFeC.js +20 -0
  40. package/dist/applepay-DRD88bt3.js +9 -0
  41. package/dist/appsflyer-colorful-DhCoDqxc.js +20 -0
  42. package/dist/arcade-bulk-Cizc7WAm.js +13 -0
  43. package/dist/area-chart-outlined-BHIIpVvJ.js +7 -0
  44. package/dist/arrow-down-DcS_1caW.js +8 -0
  45. package/dist/arrow-down-bold-LMQcIpLm.js +7 -0
  46. package/dist/arrow-down-circle-C9C94ult.js +8 -0
  47. package/dist/arrow-down-circle-bold-BvSy_bkK.js +7 -0
  48. package/dist/arrow-left-CAPpR_Dd.js +8 -0
  49. package/dist/arrow-left-bold-ParAfd20.js +7 -0
  50. package/dist/arrow-left-bulk-CiGVXFG4.js +10 -0
  51. package/dist/arrow-left-circle-B9w6y1TT.js +8 -0
  52. package/dist/arrow-left-circle-bold-Dz9HJlfJ.js +7 -0
  53. package/dist/arrow-left-down-line-BeGwt11h.js +7 -0
  54. package/dist/arrow-right-D2kBik46.js +8 -0
  55. package/dist/arrow-right-bold-Bv4WgIjr.js +7 -0
  56. package/dist/arrow-right-bulk-B-zxuGgL.js +10 -0
  57. package/dist/arrow-right-circle-Dnw3J9BK.js +8 -0
  58. package/dist/arrow-right-circle-bold-C0AfSkr9.js +7 -0
  59. package/dist/arrow-right-up-line-_XIuq3yQ.js +7 -0
  60. package/dist/arrow-up-B1p5AR6I.js +8 -0
  61. package/dist/arrow-up-bold-L5oKWdan.js +7 -0
  62. package/dist/arrow-up-circle-DVuRsMhl.js +8 -0
  63. package/dist/arrow-up-circle-bold-DUSXkykH.js +7 -0
  64. package/dist/asterisk-9AXoQkwn.js +7 -0
  65. package/dist/bag-bulk-FG5NqkNc.js +8 -0
  66. package/dist/bahai-C_Co5Kfa.js +7 -0
  67. package/dist/bancontact-NBMkp3hp.js +11 -0
  68. package/dist/bitcoin-jQBIOTGI.js +9 -0
  69. package/dist/bitcoincash-Cjj6dsmc.js +9 -0
  70. package/dist/bitpay-D9311Lnt.js +9 -0
  71. package/dist/book-bulk-BHrb2y_l.js +10 -0
  72. package/dist/book-closed-bulk-D3Yq87Ij.js +10 -0
  73. package/dist/book-saved-bulk-n2sN57Pv.js +9 -0
  74. package/dist/book-square-bulk-D8-Pp3nD.js +9 -0
  75. package/dist/bookmark-CjUGHEr3.js +10 -0
  76. package/dist/bookmark-bold-Biv-1Wba.js +8 -0
  77. package/dist/bookmark-bulk-BKoG9hHT.js +8 -0
  78. package/dist/box-empty-yjdRW5b1.js +15 -0
  79. package/dist/brain-D4MC-14s.js +7 -0
  80. package/dist/broom-DPB2Iteq.js +12 -0
  81. package/dist/broom-bold-CM_HmJqA.js +8 -0
  82. package/dist/brush-bulk-tJALzT__.js +9 -0
  83. package/dist/bubble-bulk-BTpL-bb7.js +9 -0
  84. package/dist/bucket-bulk-Ci8zpLhJ.js +10 -0
  85. package/dist/bullhorn-LLf-1SmO.js +7 -0
  86. package/dist/bus-bulk-BOr4mytN.js +11 -0
  87. package/dist/buy-crypto-puTvlJpl.js +14 -0
  88. package/dist/calendar-BlLMwoBP.js +16 -0
  89. package/dist/calendar-alt-BKnM7n0O.js +7 -0
  90. package/dist/calendar-bold-BpQAB_z8.js +8 -0
  91. package/dist/calendar-bulk-BzZfuqtM.js +14 -0
  92. package/dist/camera-bulk-BO7Eo8H6.js +9 -0
  93. package/dist/car-bulk-FmIXX1qs.js +10 -0
  94. package/dist/card-bold-CN0fE1gw.js +8 -0
  95. package/dist/card-bulk-DXbpwQAu.js +17 -0
  96. package/dist/card-wNHXTqeT.js +10 -0
  97. package/dist/caret-down-bold-BERscvOg.js +7 -0
  98. package/dist/caret-down-tvQ0wO59.js +7 -0
  99. package/dist/caret-left-bold-BZQbVIdi.js +7 -0
  100. package/dist/caret-left-r0cEVXpb.js +7 -0
  101. package/dist/caret-right-BiKWyqNF.js +7 -0
  102. package/dist/caret-right-bold-DLtiJMVR.js +7 -0
  103. package/dist/caret-up-BB-CRsSj.js +7 -0
  104. package/dist/caret-up-bold-UK8P9-08.js +7 -0
  105. package/dist/casino-bulk-CqvLTh7O.js +8 -0
  106. package/dist/category-bold-XJfqvFJ6.js +18 -0
  107. package/dist/category-qYgorCTW.js +19 -0
  108. package/dist/certificate-DYL_cT8o.js +7 -0
  109. package/dist/chart-2-BN26M-b-.js +9 -0
  110. package/dist/chart-2-bulk-BjvV0Aug.js +14 -0
  111. package/dist/chart-DpVpY-Vu.js +10 -0
  112. package/dist/chart-area-BvyvoMm3.js +7 -0
  113. package/dist/chart-bar-CM3Xb2mP.js +7 -0
  114. package/dist/chart-bold-UKhmSTE0.js +10 -0
  115. package/dist/chart-bulk-CTq2mnXZ.js +15 -0
  116. package/dist/check-B3I3zCmC.js +7 -0
  117. package/dist/check-line-DYj6YGse.js +7 -0
  118. package/dist/checkered-flag-5-3PFpmn.js +7 -0
  119. package/dist/chef-bulk-BEqyA56n.js +8 -0
  120. package/dist/chess-bulk-BPA2r7WS.js +12 -0
  121. package/dist/chevron-down-Deuidy6-.js +8 -0
  122. package/dist/chevron-left-Ctlppl-V.js +8 -0
  123. package/dist/chevron-right-2ieak7bv.js +8 -0
  124. package/dist/chevron-up-D_7NtGL8.js +8 -0
  125. package/dist/chevrons-down-OM00VHS8.js +7 -0
  126. package/dist/chevrons-left-DIT25I4_.js +7 -0
  127. package/dist/chevrons-right-m-EJdxEx.js +7 -0
  128. package/dist/chevrons-up-BZK_GrX7.js +7 -0
  129. package/dist/circle-CTAenz0k.js +7 -0
  130. package/dist/circle-exclamation-zJMdScgp.js +7 -0
  131. package/dist/circle-notch-DKAGZDOT.js +7 -0
  132. package/dist/citadele-DoufmjNd.js +9 -0
  133. package/dist/clipboard-BG2E7FaC.js +14 -0
  134. package/dist/clipboard-bold-D2N8tdmb.js +11 -0
  135. package/dist/clipboard-bulk-sLVuG5mo.js +14 -0
  136. package/dist/clipboard-close-bulk-C2Od4E0n.js +9 -0
  137. package/dist/clipboard-close-dwi0R13N.js +10 -0
  138. package/dist/clipboard-tick-Bs2j86bP.js +9 -0
  139. package/dist/clipboard-tick-bulk-DjbSSuqx.js +9 -0
  140. package/dist/clock-9hGnvEpx.js +8 -0
  141. package/dist/clock-bold-B3F7QJSr.js +7 -0
  142. package/dist/clock-bulk-Cbha__mN.js +8 -0
  143. package/dist/clone-CGXjd_O6.js +7 -0
  144. package/dist/close-CE1Ttgok.js +4 -0
  145. package/dist/close-circle-0PKwUI2n.js +9 -0
  146. package/dist/close-circle-bold-BiatlGpI.js +7 -0
  147. package/dist/close-circle-bulk-Co53Qhf4.js +11 -0
  148. package/dist/close-square--5kO3rO3.js +9 -0
  149. package/dist/close-square-bold-xLahqGNn.js +7 -0
  150. package/dist/cloud-sunny-bulk-krVwPlJq.js +8 -0
  151. package/dist/cloud-upload-CMQ2H2Xw.js +7 -0
  152. package/dist/coffee-bulk-_FwJ31qQ.js +12 -0
  153. package/dist/cogs-BFDHd9oV.js +7 -0
  154. package/dist/color-filter-5UXc6d-3.js +14 -0
  155. package/dist/columns-B_ddNZH6.js +8 -0
  156. package/dist/columns-bold-0mI_AF4E.js +8 -0
  157. package/dist/compass-bulk-O_dyJK8R.js +8 -0
  158. package/dist/compress-BTVhSIne.js +7 -0
  159. package/dist/contains-linear-D_ZOgtJs.js +11 -0
  160. package/dist/control-CRfzjsnP.js +15 -0
  161. package/dist/convert-shape-CVmRrL_7.js +15 -0
  162. package/dist/convert-shape-bold-D8EJZmLu.js +17 -0
  163. package/dist/convert-shape-bulk-B_pG3vuO.js +17 -0
  164. package/dist/copy-BGwrOBcD.js +8 -0
  165. package/dist/copy-bold-BZGfHMaV.js +8 -0
  166. package/dist/copy-bulk-BoNRDlip.js +11 -0
  167. package/dist/crosshairs-ChxTMv2D.js +7 -0
  168. package/dist/crown-B_ojP5tx.js +8 -0
  169. package/dist/crown-bold-BBDmNqWc.js +7 -0
  170. package/dist/cup-Buafqbt4.js +21 -0
  171. package/dist/cup-bold-Bu6x_n4h.js +11 -0
  172. package/dist/cup-bulk-D211-pdJ.js +20 -0
  173. package/dist/danger-DJpo9tCE.js +9 -0
  174. package/dist/danger-bold-Cg0uBFsY.js +7 -0
  175. package/dist/danger-bulk-CUUs6V03.js +9 -0
  176. package/dist/dashboard-UX0q0D9I.js +7 -0
  177. package/dist/data-Dv7s_0Te.js +21 -0
  178. package/dist/data-bold-BFrZ-O5s.js +20 -0
  179. package/dist/data-bulk-DBuLkwtO.js +20 -0
  180. package/dist/devices-CXklsSh3.js +15 -0
  181. package/dist/diagram-BupSoeiO.js +8 -0
  182. package/dist/dinersclub-D44gkCbJ.js +9 -0
  183. package/dist/direct-inbox-DylWmuzi.js +15 -0
  184. package/dist/direct-inbox-bold-CCWCw_-0.js +13 -0
  185. package/dist/direct-inbox-bulk-DYtg9M7Y.js +14 -0
  186. package/dist/direct-normal-BPBdlwBo.js +8 -0
  187. package/dist/direct-normal-bulk-DcOBBi4G.js +8 -0
  188. package/dist/discover-BkA7VSz7.js +11 -0
  189. package/dist/dislike-bold-BSR6hBMk.js +8 -0
  190. package/dist/dislike-sk_SIvgR.js +8 -0
  191. package/dist/document-CcwCOx8o.js +10 -0
  192. package/dist/document-bold-C3w4WmiX.js +8 -0
  193. package/dist/document-bulk-DzaJn1FI.js +17 -0
  194. package/dist/dollar-circle-DQDG8tR_.js +9 -0
  195. package/dist/dot-qgcav4-k.js +7 -0
  196. package/dist/download-Ci2W0i7r.js +10 -0
  197. package/dist/download-bold-DeSpumUD.js +12 -0
  198. package/dist/download-bulk-CC-3xztv.js +15 -0
  199. package/dist/drag-dKM4Quja.js +11 -0
  200. package/dist/driving-bulk-Bc59A5J9.js +14 -0
  201. package/dist/edit-2-BC7b2AzO.js +9 -0
  202. package/dist/edit-2-bold-DCcDQ9-W.js +15 -0
  203. package/dist/edit-2-bulk-DYtmSJfs.js +9 -0
  204. package/dist/edit-BNITBRCp.js +9 -0
  205. package/dist/edit-bold-aOLZkHZD.js +7 -0
  206. package/dist/element-2-bulk-C_8abf85.js +10 -0
  207. package/dist/element-3-bulk-B8jO18ki.js +9 -0
  208. package/dist/element-bulk-C0Bbk7Nz.js +10 -0
  209. package/dist/element-plus-ByIYHmvX.js +17 -0
  210. package/dist/element-plus-bold-BmLvcHY2.js +18 -0
  211. package/dist/ellipsis-horizontal-CsKcrR-0.js +7 -0
  212. package/dist/ellipsis-vertical-DPeVEBuu.js +7 -0
  213. package/dist/elo-Br2Vuswf.js +12 -0
  214. package/dist/empty-table-B0j6ii0q.js +34 -0
  215. package/dist/equal-vqteAAZN.js +8 -0
  216. package/dist/etherium-D0ZXG13p.js +15 -0
  217. package/dist/expand-DuSIzzBI.js +10 -0
  218. package/dist/expand-left-line-C6GF8pDL.js +9 -0
  219. package/dist/expand-right-line-nUVRZIG0.js +9 -0
  220. package/dist/export-2-ClebRLYO.js +12 -0
  221. package/dist/export-2-bold-CWP0OSu6.js +11 -0
  222. package/dist/export-2-bulk-b1a7U5lM.js +11 -0
  223. package/dist/export-BySiHfPx.js +9 -0
  224. package/dist/export-bold-vynOFlro.js +7 -0
  225. package/dist/export-bulk-B9TbCSOK.js +8 -0
  226. package/dist/export-data-CjRujjX4.js +292 -0
  227. package/dist/exporting-C0PAvbsc.js +385 -0
  228. package/dist/eye-Br47g2EW.js +8 -0
  229. package/dist/eye-bold-Z5fzao7p.js +8 -0
  230. package/dist/eye-bulk-DBz_d8G6.js +11 -0
  231. package/dist/eye-slash-bold-CUMv80Sy.js +11 -0
  232. package/dist/eye-slash-xR20YiVN.js +12 -0
  233. package/dist/facebook-CbvAFDNX.js +8 -0
  234. package/dist/fatrows-BxHMRsbb.js +11 -0
  235. package/dist/fatrows-bold-BM1VbAKy.js +11 -0
  236. package/dist/fatrows-bulk-f8YoN10T.js +11 -0
  237. package/dist/favorite-chart-B_q3MmkK.js +9 -0
  238. package/dist/favorite-chart-bold-_azS9_qJ.js +8 -0
  239. package/dist/favorite-chart-bulk-BlGR0Xib.js +9 -0
  240. package/dist/file-pdf-nnHph4JB.js +7 -0
  241. package/dist/filled-flag-BotoaJW7.js +7 -0
  242. package/dist/filter-DMrTVHKZ.js +8 -0
  243. package/dist/filter-bold-DMF6Ix0c.js +8 -0
  244. package/dist/filter-bulk-DUT_3jkX.js +11 -0
  245. package/dist/flag-CTMrF9Eb.js +8 -0
  246. package/dist/flash-BsgqPLm2.js +8 -0
  247. package/dist/flash-circle-BuB8pCG-.js +13 -0
  248. package/dist/flash-circle-bold-BVvk0Pcq.js +8 -0
  249. package/dist/flash-circle-bulk-C0jDBliA.js +11 -0
  250. package/dist/folder-BvkRqnRs.js +8 -0
  251. package/dist/folder-open-DjTx8NSO.js +9 -0
  252. package/dist/folder-open-bold-WUf82K9a.js +8 -0
  253. package/dist/font-jy1Mj0lk.js +7 -0
  254. package/dist/forbrugsforeningen-Puw5oXYP.js +9 -0
  255. package/dist/gallery-bulk-Cpa_jQnb.js +9 -0
  256. package/dist/game-bulk-Bc0-iAgM.js +13 -0
  257. package/dist/giropay-P7ytRNOH.js +11 -0
  258. package/dist/glass-BFzBqbqu.js +11 -0
  259. package/dist/glass-bold-BLfmfE_0.js +11 -0
  260. package/dist/glass-bulk-C01rMJA0.js +11 -0
  261. package/dist/global-C6hEKjM2.js +11 -0
  262. package/dist/google-7-D5QsPs.js +10 -0
  263. package/dist/google-colored-DBhyV_DN.js +15 -0
  264. package/dist/googlepay-DlwBRzPC.js +13 -0
  265. package/dist/gps-linear-C0Cxhnms.js +12 -0
  266. package/dist/graduation-cap-BSrPJeHm.js +9 -0
  267. package/dist/graduation-cap-bold-CnssljzI.js +8 -0
  268. package/dist/graph-T1ntmIoY.js +8 -0
  269. package/dist/graph-bold-CJ7i0XOV.js +8 -0
  270. package/dist/grid-2-Xx7q_UY2.js +10 -0
  271. package/dist/grid-B-4opBKq.js +10 -0
  272. package/dist/grid-bold-ewRclO4W.js +10 -0
  273. package/dist/grid-bulk-D7Zut8Ek.js +17 -0
  274. package/dist/hamburger-ChXWBhhM.js +9 -0
  275. package/dist/headset-hMv1-5kf.js +7 -0
  276. package/dist/health-bulk-BiO9s6Ya.js +9 -0
  277. package/dist/history-BgOJSIs1.js +7 -0
  278. package/dist/home-BzPyPhLz.js +8 -0
  279. package/dist/home-bold-CIP1v27j.js +7 -0
  280. package/dist/home-bulk--pLh1Cer.js +11 -0
  281. package/dist/hospital-bulk-DbCBlxeB.js +10 -0
  282. package/dist/house-bulk-CDJDNpL2.js +12 -0
  283. package/dist/ideal-CiOA2WPM.js +10 -0
  284. package/dist/import-BwgGRkzK.js +14 -0
  285. package/dist/import-bold-n9euky5T.js +8 -0
  286. package/dist/in-range-D8jR55Rx.js +9 -0
  287. package/dist/in-range-bold-CKGuXaBI.js +9 -0
  288. package/dist/indent-DtlWCX4l.js +7 -0
  289. package/dist/index-BlFaxM2B.js +20718 -0
  290. package/dist/info-DuYlla_w.js +7 -0
  291. package/dist/info-circle-2-Cx4Tuekx.js +12 -0
  292. package/dist/info-circle-2-bold-Czmer8mR.js +8 -0
  293. package/dist/info-circle-2-bulk-IhPR3kNX.js +14 -0
  294. package/dist/info-circle-bold-DgM_C2xu.js +7 -0
  295. package/dist/info-circle-foeQf5lD.js +11 -0
  296. package/dist/interac-k39vsnHy.js +11 -0
  297. package/dist/ipad-D2p1uqmd.js +8 -0
  298. package/dist/iphone-9WH7lW33.js +7 -0
  299. package/dist/jcb-D7_NMgWC.js +25 -0
  300. package/dist/judge-outline-BB1OqdAU.js +10 -0
  301. package/dist/justify-right-Bck_4jBq.js +13 -0
  302. package/dist/key-BnPpJtfw.js +9 -0
  303. package/dist/klarna-BAZl-PBq.js +9 -0
  304. package/dist/lamp-charge-D1AbWTQM.js +9 -0
  305. package/dist/lamp-charge-bulk-CEw6XHMW.js +9 -0
  306. package/dist/layer-CbmLIuWX.js +9 -0
  307. package/dist/layer-bold-Dh10LMd9.js +9 -0
  308. package/dist/layer-bulk-CneTA8PD.js +14 -0
  309. package/dist/level-linear-CnmyocS2.js +9 -0
  310. package/dist/lightcoin-BZ1rdGn2.js +9 -0
  311. package/dist/like-VWJ6kcld.js +8 -0
  312. package/dist/like-bold-BYHWqDCQ.js +8 -0
  313. package/dist/link-Bx8NgJQx.js +8 -0
  314. package/dist/linkedin-Mm67U72R.js +9 -0
  315. package/dist/list-CRpCb4cC.js +7 -0
  316. package/dist/loader-CF_0OWwl.js +14 -0
  317. package/dist/loading-DX8oema7.js +7 -0
  318. package/dist/location-bulk-CwbrXN8y.js +8 -0
  319. package/dist/location-k-Kp-Jvh.js +12 -0
  320. package/dist/lock-DV5xqJxa.js +9 -0
  321. package/dist/lock-bold-DIfxjriG.js +8 -0
  322. package/dist/lock-bulk-DHduithA.js +14 -0
  323. package/dist/lock-slash-40svIcZb.js +10 -0
  324. package/dist/lock-slash-bulk-oOzyzmYJ.js +11 -0
  325. package/dist/logout-CoSahafX.js +9 -0
  326. package/dist/logout-bold-DtAFwN1T.js +8 -0
  327. package/dist/lovely-bulk-DMckVAG3.js +8 -0
  328. package/dist/maestro-2-B_-WmfkU.js +9 -0
  329. package/dist/maestro-DI1QUKWw.js +11 -0
  330. package/dist/magic-pen-C_ZuAIeg.js +17 -0
  331. package/dist/magic-pen-bold-DK2Zldvy.js +21 -0
  332. package/dist/map-D9nlD3zg.js +1746 -0
  333. package/dist/map-bulk-b8Sr2Fmc.js +9 -0
  334. package/dist/map-marker-DRvbAD_X.js +8 -0
  335. package/dist/map-marker-bold-Baug0j5o.js +7 -0
  336. package/dist/mastercard-2-DCReHU5A.js +9 -0
  337. package/dist/mastercard-CR1i7PFG.js +11 -0
  338. package/dist/maximize-linear-CCWWD--f.js +10 -0
  339. package/dist/med-kit-Dzx627Qo.js +7 -0
  340. package/dist/medal-CTj_OZNe.js +8 -0
  341. package/dist/medal-bold-BSR6G_Fh.js +8 -0
  342. package/dist/menu-Cn8IB3xe.js +9 -0
  343. package/dist/menu-bold-bJi3sXf8.js +7 -0
  344. package/dist/message-CQXwA2aP.js +15 -0
  345. package/dist/message-bold-DGSzH5b3.js +8 -0
  346. package/dist/message-bulk-DmkeeBSn.js +17 -0
  347. package/dist/message-notif-Ba6f_BKJ.js +11 -0
  348. package/dist/message-text-Bp7l3HUP.js +9 -0
  349. package/dist/messages-2-bulk-B25uWmFb.js +9 -0
  350. package/dist/messages-R8UGpfJm.js +11 -0
  351. package/dist/messages-bold-DGVvdOR-.js +11 -0
  352. package/dist/messages-bulk-Du2QOYAd.js +11 -0
  353. package/dist/microscope-BEbq70sH.js +17 -0
  354. package/dist/microscope-bold-DSDepSys.js +17 -0
  355. package/dist/microscope-bulk-hiw0Y5qR.js +17 -0
  356. package/dist/milk-bulk-CxSdKEU6.js +9 -0
  357. package/dist/minus-CGjO90lO.js +7 -0
  358. package/dist/minus-bold-DQKlOnvC.js +7 -0
  359. package/dist/minus-square-Ds-6FtB_.js +8 -0
  360. package/dist/minus-square-bold-BBJ4VITq.js +7 -0
  361. package/dist/mobile-D8aosZ5a.js +9 -0
  362. package/dist/mobile-action-brzKV95_.js +40 -0
  363. package/dist/mobile-bold-C4rfKwzs.js +7 -0
  364. package/dist/mobile-bulk-Bkbtn0UN.js +14 -0
  365. package/dist/money-bill-CFZluOJg.js +12 -0
  366. package/dist/money-send-DlmQ1op8.js +14 -0
  367. package/dist/moneys-CvKAFahD.js +21 -0
  368. package/dist/moneys-bold-D1QCkYRU.js +11 -0
  369. package/dist/moneys-bulk-DUYwIR1z.js +20 -0
  370. package/dist/more-bold-BaHZT4vR.js +7 -0
  371. package/dist/more-bulk-BMgI8eM5.js +10 -0
  372. package/dist/more-circle-ZxODcqCE.js +10 -0
  373. package/dist/more-vertical-B3XZP8Lc.js +7 -0
  374. package/dist/more-zJVDEm_2.js +9 -0
  375. package/dist/mouse-square-bold-BFtF5tfm.js +11 -0
  376. package/dist/mouse-square-bulk-C4anqh_t.js +11 -0
  377. package/dist/mouse-square-wuNIGqpV.js +10 -0
  378. package/dist/music-bulk-BylgXvoM.js +9 -0
  379. package/dist/musicnote-bulk-DnWAOiLT.js +8 -0
  380. package/dist/not-contains-linear-D26FUvcO.js +12 -0
  381. package/dist/not-equal-C03Whu33.js +9 -0
  382. package/dist/not-in-range-DuiQ9Pa1.js +10 -0
  383. package/dist/notification-bold-Bol0sU7h.js +8 -0
  384. package/dist/notification-zGY9dIwv.js +9 -0
  385. package/dist/offline-exporting-BLnEcdCT.js +578 -0
  386. package/dist/outdent-BigmatWS.js +7 -0
  387. package/dist/outline-linear-CnmyocS2.js +9 -0
  388. package/dist/outline-lock-BSY2-kOq.js +9 -0
  389. package/dist/outline-lock-bulk-BuSi1qgm.js +9 -0
  390. package/dist/paper-plane-B3UrW7gE.js +7 -0
  391. package/dist/parenting-bulk-C_KmGK1d.js +167 -0
  392. package/dist/password-check-DMvBg21g.js +11 -0
  393. package/dist/pause-Cj28FYtM.js +8 -0
  394. package/dist/pause-bold-D5XIkqTi.js +8 -0
  395. package/dist/pause-circle-Cae0A6ty.js +9 -0
  396. package/dist/pause-circle-bold-DhyVBDK_.js +7 -0
  397. package/dist/pause-circle-bulk-Ct3GWoI8.js +9 -0
  398. package/dist/payoneer-D_Ims0yA.js +10 -0
  399. package/dist/paypal-DDeRuGvm.js +12 -0
  400. package/dist/paysafe-LfrdjypJ.js +11 -0
  401. package/dist/pen-square-De6Mul3Q.js +9 -0
  402. package/dist/pencil-BVNQaxcn.js +7 -0
  403. package/dist/people-CW9QlyJM.js +12 -0
  404. package/dist/people-bold-CvTpMAJm.js +12 -0
  405. package/dist/people-bulk-amrCUEAe.js +12 -0
  406. package/dist/percentage-square-CCmPpcLp.js +10 -0
  407. package/dist/percentage-square-bold-tlvS0n45.js +7 -0
  408. package/dist/play-B7g5zXrN.js +8 -0
  409. package/dist/play-bold-BPEt2uZ8.js +7 -0
  410. package/dist/play-bulk-z5laY23m.js +8 -0
  411. package/dist/play-circle-bold-BxajZyxU.js +11 -0
  412. package/dist/play-circle-xTlr-Bah.js +11 -0
  413. package/dist/play-console-colorful-uMVj3O96.js +20 -0
  414. package/dist/play-store-colorful-BI2BBcNv.js +17 -0
  415. package/dist/plug-CD_mn6bj.js +14 -0
  416. package/dist/plug-bold-BnnsTDN4.js +8 -0
  417. package/dist/poker-cards-bulk-CYL8LIXD.js +15 -0
  418. package/dist/presentation-chart-bulk-TzTWGlF2.js +16 -0
  419. package/dist/profile-2user-colored-bulk-LdvX_Lh5.js +20 -0
  420. package/dist/programming-arrows-bulk-CrCz5RVp.js +17 -0
  421. package/dist/project-bold-q6Y4vTWC.js +7 -0
  422. package/dist/puzzle-bulk-M9nLCEwX.js +21 -0
  423. package/dist/qiwi-BMEXmSTL.js +9 -0
  424. package/dist/question-DGqy4FYX.js +9 -0
  425. package/dist/question-bold--9xWcehb.js +7 -0
  426. package/dist/quickbooks-BuGT2Wil.js +13 -0
  427. package/dist/radar-DXWvLImO.js +13 -0
  428. package/dist/radar-bold-xYJn9nQ0.js +16 -0
  429. package/dist/radar-bulk-DEKCqw2l.js +12 -0
  430. package/dist/rank-D1JUY9jF.js +17 -0
  431. package/dist/rank-bold-CirYKj6o.js +17 -0
  432. package/dist/rank-bulk-Y5pOMN9L.js +14 -0
  433. package/dist/ranking-BTp0VocG.js +14 -0
  434. package/dist/ranking-bold-jWI8lq1p.js +17 -0
  435. package/dist/ranking-bulk-BziC-rSL.js +17 -0
  436. package/dist/record-circle-cuQuZdk5.js +7 -0
  437. package/dist/redo-bold-Bq7Mm8qW.js +7 -0
  438. package/dist/redo-komYif2B.js +8 -0
  439. package/dist/refresh-2-CEcafqsb.js +7 -0
  440. package/dist/refresh-D1_QxAPS.js +8 -0
  441. package/dist/reply-lX1U5pGz.js +7 -0
  442. package/dist/rocket-CDFcXfzU.js +15 -0
  443. package/dist/rocket-bulk-CDMbDuuu.js +15 -0
  444. package/dist/rotate-left-CPVgKej9.js +9 -0
  445. package/dist/rotate-right-DJNhwndG.js +9 -0
  446. package/dist/save-C4bOfVd3.js +15 -0
  447. package/dist/save-bold-ewC2l1LL.js +12 -0
  448. package/dist/scale-balanced-z4u4jHD7.js +7 -0
  449. package/dist/search-2-line-DRVRD3nz.js +9 -0
  450. package/dist/search-dollar-23lqrAiG.js +7 -0
  451. package/dist/search-normal-BDMnZZHY.js +8 -0
  452. package/dist/search-normal-bold-VwEbXhGL.js +8 -0
  453. package/dist/search-zoom-in-C-sz5qUW.js +15 -0
  454. package/dist/search-zoom-in-bold-CNgto3XJ.js +12 -0
  455. package/dist/search-zoom-in-bulk-w6WPTCol.js +15 -0
  456. package/dist/security-card-C7DX9uc_.js +11 -0
  457. package/dist/security-card-bold-DmMwb9qD.js +9 -0
  458. package/dist/selection-CGpQ4IVD.js +51 -0
  459. package/dist/send-DoQks9ur.js +9 -0
  460. package/dist/sepa-D7TYnjQL.js +10 -0
  461. package/dist/setting-2-linear-Bek5AmC0.js +12 -0
  462. package/dist/setting-bulk-_YttfQEy.js +12 -0
  463. package/dist/settings-DgdlQpYy.js +8 -0
  464. package/dist/settings-bold-Ctz8d58X.js +7 -0
  465. package/dist/settings-bulk-BKUqr8qO.js +11 -0
  466. package/dist/share-bold-D4qEkxT8.js +23 -0
  467. package/dist/share-bulk-RO3cQ_x4.js +23 -0
  468. package/dist/share-kjJsaGrj.js +12 -0
  469. package/dist/shield-tick-bold-C6Ae-T2c.js +7 -0
  470. package/dist/shop-pay-BF4Rhu1k.js +9 -0
  471. package/dist/shopping-cart-bold-1yJ1zQX5.js +10 -0
  472. package/dist/shopping-cart-qy6hFEGi.js +10 -0
  473. package/dist/sidebar-left-BKb_tNe-.js +12 -0
  474. package/dist/sidebar-left-bold-BBhTAgqG.js +11 -0
  475. package/dist/sidebar-left-bulk-x5Bop8BD.js +14 -0
  476. package/dist/sidebar-right-BdPLZYyl.js +12 -0
  477. package/dist/sidebar-right-bold-D0JicXZr.js +11 -0
  478. package/dist/sidebar-right-bulk-DlZYTeGY.js +14 -0
  479. package/dist/skrill-CODHfzBb.js +9 -0
  480. package/dist/slack-CCO7LtRc.js +12 -0
  481. package/dist/slash-DkdktXrD.js +8 -0
  482. package/dist/slash-bold-DmQ2iIpC.js +9 -0
  483. package/dist/slider-horizontal-U6-ttuLR.js +12 -0
  484. package/dist/slider-horizontal-bold-GysAEZ5z.js +12 -0
  485. package/dist/smart-notification-DEOAUo6P.js +11 -0
  486. package/dist/smart-notification-bold-DD5LkM1V.js +11 -0
  487. package/dist/smart-notification-bulk-BMq-In3M.js +11 -0
  488. package/dist/sms-BIU3AFQG.js +8 -0
  489. package/dist/sms-bold-DLlLpAVy.js +7 -0
  490. package/dist/soccer-bulk-SDKnYWlq.js +13 -0
  491. package/dist/social-facebook-Vsgbx4Q9.js +7 -0
  492. package/dist/social-linkedin-BtX3MMk4.js +8 -0
  493. package/dist/social-x-CJtjZfb5.js +7 -0
  494. package/dist/sofort-CFCEQZzO.js +9 -0
  495. package/dist/sort-BHzFZoxU.js +8 -0
  496. package/dist/sort-amount-down-DdtalMMi.js +7 -0
  497. package/dist/sort-bold-BWJgPjwD.js +8 -0
  498. package/dist/sort-bulk-Ce0DraOX.js +17 -0
  499. package/dist/speedometer-CA8z06Wc.js +9 -0
  500. package/dist/spin-dots-By-OygyV.js +17 -0
  501. package/dist/spin-round-CXIjkanj.js +8 -0
  502. package/dist/spin-three-circles-51MYjAF-.js +14 -0
  503. package/dist/spin-three-dots-CVoe7oun.js +8 -0
  504. package/dist/spinner-DBLwXGDq.js +7 -0
  505. package/dist/square-DDXZz6KP.js +7 -0
  506. package/dist/src/components/app-icon/index.vue.d.ts +2 -2
  507. package/dist/src/components/chart/chart.test.d.ts +1 -0
  508. package/dist/src/components/chart/components/ChartLoadingContainer.vue.d.ts +52 -0
  509. package/dist/src/components/chart/components/ChartWatermarkContainer.vue.d.ts +39 -0
  510. package/dist/src/components/chart/index.vue.d.ts +22 -0
  511. package/dist/src/components/chart/stories/chart.stories.d.ts +19 -0
  512. package/dist/src/components/chart/types.d.ts +98 -0
  513. package/dist/src/components/chart/utils.d.ts +114 -0
  514. package/dist/src/components/content-scroller/index.vue.d.ts +17 -8
  515. package/dist/src/components/date-picker/index.vue.d.ts +1 -1
  516. package/dist/src/components/date-picker-2/index.vue.d.ts +1 -1
  517. package/dist/src/components/ellipsis/index.vue.d.ts +2 -2
  518. package/dist/src/components/icon/utils.d.ts +19 -0
  519. package/dist/src/components/icon-button/index.vue.d.ts +3 -3
  520. package/dist/src/components/progress/components/circle.vue.d.ts +3 -3
  521. package/dist/src/components/progress/components/halfCircle.vue.d.ts +2 -2
  522. package/dist/src/components/progress/components/line.vue.d.ts +4 -4
  523. package/dist/src/components/progress/components/stepLine.vue.d.ts +2 -2
  524. package/dist/src/components/progress/index.vue.d.ts +2 -2
  525. package/dist/src/components/tabs-2/stories/default.stories.d.ts +3 -1
  526. package/dist/src/components/tooltip-2/index.vue.d.ts +2 -2
  527. package/dist/src/components/watchlist-button/index.vue.d.ts +3 -3
  528. package/dist/src/index.d.ts +4 -0
  529. package/dist/star-CYR6zA-5.js +7 -0
  530. package/dist/star-bold-BzynfdKp.js +7 -0
  531. package/dist/star-bulk-kS4PxU5l.js +17 -0
  532. package/dist/star-half-colored-C16vcthr.js +8 -0
  533. package/dist/status-up-BkqXBYXa.js +20 -0
  534. package/dist/steering-wheel-bulk-eFAnYs84.js +8 -0
  535. package/dist/stock-BWDjlVRw.js +2018 -0
  536. package/dist/stop-Csyx-j3Q.js +7 -0
  537. package/dist/stop-bold-DwHmvwBw.js +8 -0
  538. package/dist/story-qozfTqCa.js +17 -0
  539. package/dist/stream-D3m6CQms.js +11 -0
  540. package/dist/stripe-2-dGZyGbZJ.js +34 -0
  541. package/dist/stripe-BGLCTVe1.js +9 -0
  542. package/dist/style.css +1 -1
  543. package/dist/swap-CQKtj5nU.js +10 -0
  544. package/dist/swap-bold-CN0SIjRW.js +7 -0
  545. package/dist/sword-bulk-DSqI9OdR.js +11 -0
  546. package/dist/sync-3mFfFBAk.js +7 -0
  547. package/dist/table-list-D9ZbhecS.js +7 -0
  548. package/dist/tag-2-ChcYkkoA.js +9 -0
  549. package/dist/tag-2-bold-1gWoOqra.js +7 -0
  550. package/dist/tag-bold-BO6Got6Y.js +7 -0
  551. package/dist/tag-bulk-DMger3uW.js +11 -0
  552. package/dist/tag-hWyU0KQv.js +8 -0
  553. package/dist/tag-user-yIzNAf7h.js +9 -0
  554. package/dist/teacher-bulk-CwMy66kh.js +8 -0
  555. package/dist/thumbtack-CEiJoxPH.js +7 -0
  556. package/dist/tick-CM5ZL3Qz.js +7 -0
  557. package/dist/tick-circle-D1utoMQG.js +8 -0
  558. package/dist/tick-circle-bold-CwReCnyT.js +9 -0
  559. package/dist/tick-circle-bulk-g9qOpsmc.js +11 -0
  560. package/dist/tick-square-Ckv90a3j.js +8 -0
  561. package/dist/tick-square-bold-BXu-6zy6.js +7 -0
  562. package/dist/timer-DNApyCrK.js +9 -0
  563. package/dist/toggle-off-C4_3XQzA.js +8 -0
  564. package/dist/toggle-off-bold-CkVNp_Qj.js +7 -0
  565. package/dist/toggle-on-Ma6VQn8A.js +8 -0
  566. package/dist/toggle-on-bold-vPA7-vtA.js +7 -0
  567. package/dist/transgender-D4x9uUwb.js +7 -0
  568. package/dist/translate-DEip4fcd.js +28 -0
  569. package/dist/translate-bold-DEip4fcd.js +28 -0
  570. package/dist/translate-bulk-BccQsMmy.js +24 -0
  571. package/dist/trash-bold-D3dzoCoi.js +8 -0
  572. package/dist/trash-bulk-zt3TuKVz.js +17 -0
  573. package/dist/trash-sI_l-aeV.js +11 -0
  574. package/dist/trend-up-BgJyZAhr.js +9 -0
  575. package/dist/trend-up-bold-Dvmd1N6m.js +8 -0
  576. package/dist/trend-up-bulk-BUk_jEPW.js +11 -0
  577. package/dist/twitter-WYRG-lV1.js +7 -0
  578. package/dist/undo-CZW4aIBo.js +8 -0
  579. package/dist/undo-bold-t8JD3vg5.js +7 -0
  580. package/dist/unionpay-F4Wp8YvW.js +12 -0
  581. package/dist/unlock-88eOTtvy.js +9 -0
  582. package/dist/unlock-bold-CF6XBYVc.js +8 -0
  583. package/dist/upload-D-UfNbdq.js +10 -0
  584. package/dist/upload-bulk-Ds6QQDbC.js +14 -0
  585. package/dist/user-CLPQ1jf-.js +9 -0
  586. package/dist/user-avatar-BEHDLcVb.js +71 -0
  587. package/dist/user-default-rLZU5xJz.js +7 -0
  588. package/dist/user-outline-DEorumBN.js +8 -0
  589. package/dist/user-settings-B1b9iq-_.js +7 -0
  590. package/dist/user-square-BpV1PVxe.js +9 -0
  591. package/dist/venn-DF9EOpiq.js +444 -0
  592. package/dist/verifone-ntSBR0UJ.js +10 -0
  593. package/dist/video-bulk-CVE4bb-r.js +9 -0
  594. package/dist/video-play-COrJdRET.js +15 -0
  595. package/dist/video-play-bold-CrwVbpYx.js +14 -0
  596. package/dist/video-play-bulk-DCfV3wH-.js +9 -0
  597. package/dist/video-remove-P4CbIDet.js +11 -0
  598. package/dist/video-square-bulk-B84bU8eU.js +8 -0
  599. package/dist/visa-2-IpkhAN5c.js +8 -0
  600. package/dist/visa-DlGzh5bL.js +9 -0
  601. package/dist/volume-low-Dl8gPJP2.js +14 -0
  602. package/dist/warning-2-CueX3UxP.js +8 -0
  603. package/dist/warning-2-bold-B6eysImW.js +7 -0
  604. package/dist/warning-2-bulk-Nc-mh5Hb.js +9 -0
  605. package/dist/warning-4RjXZ8Hs.js +7 -0
  606. package/dist/watch-bulk-CnuBbD2z.js +10 -0
  607. package/dist/webmoney-BvEWju1R.js +9 -0
  608. package/dist/wechat-DXg2ByK_.js +9 -0
  609. package/dist/wifi-pHOUtbnH.js +10 -0
  610. package/dist/woman-DE2_-rvT.js +9 -0
  611. package/dist/wordcloud-BhcHo_Kt.js +222 -0
  612. package/dist/x-BA7jFDqs.js +9 -0
  613. package/dist/yandex-DGuZOb2q.js +9 -0
  614. package/dist/zoom-in-CAEFkw1j.js +14 -0
  615. package/dist/zoom-out-Dwah60p1.js +12 -0
  616. package/package.json +5 -2
@@ -0,0 +1,2018 @@
1
+ import { g as ua } from "./index-BlFaxM2B.js";
2
+ function ca(Dt, te) {
3
+ for (var H = 0; H < te.length; H++) {
4
+ const et = te[H];
5
+ if (typeof et != "string" && !Array.isArray(et)) {
6
+ for (const pt in et)
7
+ if (pt !== "default" && !(pt in Dt)) {
8
+ const Pt = Object.getOwnPropertyDescriptor(et, pt);
9
+ Pt && Object.defineProperty(Dt, pt, Pt.get ? Pt : {
10
+ enumerable: !0,
11
+ get: () => et[pt]
12
+ });
13
+ }
14
+ }
15
+ }
16
+ return Object.freeze(Object.defineProperty(Dt, Symbol.toStringTag, { value: "Module" }));
17
+ }
18
+ var Qt = { exports: {} }, ga = Qt.exports, $i;
19
+ function fa() {
20
+ return $i || ($i = 1, function(Dt, te) {
21
+ (function(H, et) {
22
+ Dt.exports = et(H._Highcharts, H._Highcharts.Axis, H._Highcharts.Point, H._Highcharts.Series, H._Highcharts.Color, H._Highcharts.SeriesRegistry, H._Highcharts.RendererRegistry, H._Highcharts.SVGRenderer, H._Highcharts.SVGElement, H._Highcharts.Templating, H._Highcharts.Chart, H._Highcharts.Series.types.column, H._Highcharts.StackItem);
23
+ })(typeof window > "u" ? ga : window, (H, et, pt, Pt, Qi, ts, es, is, ss, os, rs, as, ns) => (() => {
24
+ let ee, ie, Ye, se;
25
+ var oe, re, ae, ne, le, he, de, pe, ls = { 28: (a) => {
26
+ a.exports = ss;
27
+ }, 184: (a) => {
28
+ a.exports = ns;
29
+ }, 260: (a) => {
30
+ a.exports = pt;
31
+ }, 448: (a) => {
32
+ a.exports = as;
33
+ }, 512: (a) => {
34
+ a.exports = ts;
35
+ }, 532: (a) => {
36
+ a.exports = et;
37
+ }, 540: (a) => {
38
+ a.exports = is;
39
+ }, 608: (a) => {
40
+ a.exports = es;
41
+ }, 620: (a) => {
42
+ a.exports = Qi;
43
+ }, 820: (a) => {
44
+ a.exports = Pt;
45
+ }, 944: (a) => {
46
+ a.exports = H;
47
+ }, 960: (a) => {
48
+ a.exports = rs;
49
+ }, 984: (a) => {
50
+ a.exports = os;
51
+ } }, Ne = {};
52
+ function R(a) {
53
+ var t = Ne[a];
54
+ if (t !== void 0) return t.exports;
55
+ var e = Ne[a] = { exports: {} };
56
+ return ls[a](e, e.exports, R), e.exports;
57
+ }
58
+ R.n = (a) => {
59
+ var t = a && a.__esModule ? () => a.default : () => a;
60
+ return R.d(t, { a: t }), t;
61
+ }, R.d = (a, t) => {
62
+ for (var e in t) R.o(t, e) && !R.o(a, e) && Object.defineProperty(a, e, { enumerable: !0, get: t[e] });
63
+ }, R.o = (a, t) => Object.prototype.hasOwnProperty.call(a, t);
64
+ var Fe = {};
65
+ R.d(Fe, { default: () => pa });
66
+ var hs = R(944), B = R.n(hs), ds = R(532), ue = R.n(ds), ps = R(260), us = R.n(ps), cs = R(820), gs = R.n(cs);
67
+ let { tooltipFormatter: fs } = us().prototype, { addEvent: ce, arrayMax: ms, arrayMin: xs, correctFloat: bs, defined: Ue, isArray: vs, isNumber: ys, isString: Ms, pick: Rt } = B();
68
+ (function(a) {
69
+ function t(d, r, l) {
70
+ !this.isXAxis && (this.series.forEach(function(h) {
71
+ d === "compare" && typeof r != "boolean" ? h.setCompare(r, !1) : d !== "cumulative" || Ms(r) || h.setCumulative(r, !1);
72
+ }), Rt(l, !0) && this.chart.redraw());
73
+ }
74
+ function e(d) {
75
+ let r = this, { numberFormatter: l } = r.series.chart, h = function(f) {
76
+ d = d.replace("{point." + f + "}", (r[f] > 0 && f === "change" ? "+" : "") + l(r[f], Rt(r.series.tooltipOptions.changeDecimals, 2)));
77
+ };
78
+ return Ue(r.change) && h("change"), Ue(r.cumulativeSum) && h("cumulativeSum"), fs.apply(this, [d]);
79
+ }
80
+ function i() {
81
+ let d, r = this.options.compare;
82
+ (r === "percent" || r === "value" || this.options.cumulative) && (d = new p(this), r === "percent" || r === "value" ? d.initCompare(r) : d.initCumulative()), this.dataModify = d;
83
+ }
84
+ function s(d) {
85
+ let r = d.dataExtremes, l = r.activeYData;
86
+ if (this.dataModify && r) {
87
+ let h;
88
+ this.options.compare ? h = [this.dataModify.modifyValue(r.dataMin), this.dataModify.modifyValue(r.dataMax)] : this.options.cumulative && vs(l) && l.length >= 2 && (h = p.getCumulativeExtremes(l)), h && (r.dataMin = xs(h), r.dataMax = ms(h));
89
+ }
90
+ }
91
+ function o(d, r) {
92
+ this.options.compare = this.userOptions.compare = d, this.update({}, Rt(r, !0)), this.dataModify && (d === "value" || d === "percent") ? this.dataModify.initCompare(d) : this.points.forEach((l) => {
93
+ delete l.change;
94
+ });
95
+ }
96
+ function n() {
97
+ let d = this.getColumn(this.pointArrayMap && (this.options.pointValKey || this.pointValKey) || "y", !0);
98
+ if (this.xAxis && d.length && this.dataModify) {
99
+ let r = this.getColumn("x", !0), l = this.dataTable.rowCount, h = +(this.options.compareStart !== !0);
100
+ for (let f = 0; f < l - h; f++) {
101
+ let m = d[f];
102
+ if (ys(m) && m !== 0 && r[f + h] >= (this.xAxis.min || 0)) {
103
+ this.dataModify.compareValue = m;
104
+ break;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ function c(d, r) {
110
+ this.setModifier("compare", d, r);
111
+ }
112
+ function u(d, r) {
113
+ d = Rt(d, !1), this.options.cumulative = this.userOptions.cumulative = d, this.update({}, Rt(r, !0)), this.dataModify ? this.dataModify.initCumulative() : this.points.forEach((l) => {
114
+ delete l.cumulativeSum;
115
+ });
116
+ }
117
+ function g(d, r) {
118
+ this.setModifier("cumulative", d, r);
119
+ }
120
+ a.compose = function(d, r, l) {
121
+ let h = r.prototype, f = l.prototype, m = d.prototype;
122
+ return m.setCompare || (m.setCompare = o, m.setCumulative = u, ce(d, "afterInit", i), ce(d, "afterGetExtremes", s), ce(d, "afterProcessData", n)), h.setCompare || (h.setCompare = c, h.setModifier = t, h.setCumulative = g, f.tooltipFormatter = e), d;
123
+ };
124
+ class p {
125
+ constructor(r) {
126
+ this.series = r;
127
+ }
128
+ modifyValue() {
129
+ return 0;
130
+ }
131
+ static getCumulativeExtremes(r) {
132
+ let l = 1 / 0, h = -1 / 0;
133
+ return r.reduce((f, m) => {
134
+ let x = f + m;
135
+ return l = Math.min(l, x, f), h = Math.max(h, x, f), x;
136
+ }), [l, h];
137
+ }
138
+ initCompare(r) {
139
+ this.modifyValue = function(l, h) {
140
+ l === null && (l = 0);
141
+ let f = this.compareValue;
142
+ if (l !== void 0 && f !== void 0) {
143
+ if (r === "value" ? l -= f : l = l / f * 100 - 100 * (this.series.options.compareBase !== 100), h !== void 0) {
144
+ let m = this.series.points[h];
145
+ m && (m.change = l);
146
+ }
147
+ return l;
148
+ }
149
+ return 0;
150
+ };
151
+ }
152
+ initCumulative() {
153
+ this.modifyValue = function(r, l) {
154
+ if (r === null && (r = 0), r !== void 0 && l !== void 0) {
155
+ let h = l > 0 ? this.series.points[l - 1] : null;
156
+ h && h.cumulativeSum && (r = bs(h.cumulativeSum + r));
157
+ let f = this.series.points[l], m = f.series.options.cumulativeStart, x = f.x <= this.series.xAxis.max && f.x >= this.series.xAxis.min;
158
+ return f && (!m || x ? f.cumulativeSum = r : f.cumulativeSum = void 0), r;
159
+ }
160
+ return 0;
161
+ };
162
+ }
163
+ }
164
+ a.Additions = p;
165
+ })(oe || (oe = {}));
166
+ let As = oe, { isTouchDevice: Ve } = B(), { addEvent: xt, merge: _e, pick: ge } = B(), ks = [];
167
+ function ws() {
168
+ this.navigator && this.navigator.setBaseSeries(null, !1);
169
+ }
170
+ function Ss() {
171
+ let a, t, e, i = this.legend, s = this.navigator;
172
+ if (s) {
173
+ a = i && i.options, t = s.xAxis, e = s.yAxis;
174
+ let { scrollbarHeight: o, scrollButtonSize: n } = s;
175
+ this.inverted ? (s.left = s.opposite ? this.chartWidth - o - s.height : this.spacing[3] + o, s.top = this.plotTop + n) : (s.left = ge(t.left, this.plotLeft + n), s.top = s.navigatorOptions.top || this.chartHeight - s.height - o - (this.scrollbar?.options.margin || 0) - this.spacing[2] - (this.rangeSelector && this.extraBottomMargin ? this.rangeSelector.getHeight() : 0) - (a && a.verticalAlign === "bottom" && a.layout !== "proximate" && a.enabled && !a.floating ? i.legendHeight + ge(a.margin, 10) : 0) - (this.titleOffset ? this.titleOffset[2] : 0)), t && e && (this.inverted ? t.options.left = e.options.left = s.left : t.options.top = e.options.top = s.top, t.setAxisSize(), e.setAxisSize());
176
+ }
177
+ }
178
+ function Ts(a) {
179
+ !this.navigator && !this.scroller && (this.options.navigator.enabled || this.options.scrollbar.enabled) && (this.scroller = this.navigator = new ee(this), ge(a.redraw, !0) && this.redraw(a.animation));
180
+ }
181
+ function Es() {
182
+ let a = this.options;
183
+ (a.navigator.enabled || a.scrollbar.enabled) && (this.scroller = this.navigator = new ee(this));
184
+ }
185
+ function Os() {
186
+ let a = this.options, t = a.navigator, e = a.rangeSelector;
187
+ if ((t && t.enabled || e && e.enabled) && (!Ve && this.zooming.type === "x" || Ve && this.zooming.pinchType === "x")) return !1;
188
+ }
189
+ function Bs(a) {
190
+ let t = a.navigator;
191
+ if (t && a.xAxis[0]) {
192
+ let e = a.xAxis[0].getExtremes();
193
+ t.render(e.min, e.max);
194
+ }
195
+ }
196
+ function Cs(a) {
197
+ let t = a.options.navigator || {}, e = a.options.scrollbar || {};
198
+ !this.navigator && !this.scroller && (t.enabled || e.enabled) && (_e(!0, this.options.navigator, t), _e(!0, this.options.scrollbar, e), delete a.options.navigator, delete a.options.scrollbar);
199
+ }
200
+ let Ds = { compose: function(a, t) {
201
+ if (B().pushUnique(ks, a)) {
202
+ let e = a.prototype;
203
+ ee = t, e.callbacks.push(Bs), xt(a, "afterAddSeries", ws), xt(a, "afterSetChartSize", Ss), xt(a, "afterUpdate", Ts), xt(a, "beforeRender", Es), xt(a, "beforeShowResetZoom", Os), xt(a, "update", Cs);
204
+ }
205
+ } }, { isTouchDevice: Ps } = B(), { addEvent: je, correctFloat: qe, defined: fe, isNumber: Ze, pick: Ke } = B();
206
+ function Rs() {
207
+ this.navigatorAxis || (this.navigatorAxis = new me(this));
208
+ }
209
+ function Gs(a) {
210
+ let t, e = this.chart, i = e.options, s = i.navigator, o = this.navigatorAxis, n = e.zooming.pinchType, c = i.rangeSelector, u = e.zooming.type;
211
+ if (this.isXAxis && (s?.enabled || c?.enabled)) {
212
+ if (u === "y" && a.trigger === "zoom") t = !1;
213
+ else if ((a.trigger === "zoom" && u === "xy" || Ps && n === "xy") && this.options.range) {
214
+ let g = o.previousZoom;
215
+ fe(a.min) ? o.previousZoom = [this.min, this.max] : g && (a.min = g[0], a.max = g[1], o.previousZoom = void 0);
216
+ }
217
+ }
218
+ t !== void 0 && a.preventDefault();
219
+ }
220
+ class me {
221
+ static compose(t) {
222
+ t.keepProps.includes("navigatorAxis") || (t.keepProps.push("navigatorAxis"), je(t, "init", Rs), je(t, "setExtremes", Gs));
223
+ }
224
+ constructor(t) {
225
+ this.axis = t;
226
+ }
227
+ destroy() {
228
+ this.axis = void 0;
229
+ }
230
+ toFixedRange(t, e, i, s) {
231
+ let o = this.axis, n = (o.pointRange || 0) / 2, c = Ke(i, o.translate(t, !0, !o.horiz)), u = Ke(s, o.translate(e, !0, !o.horiz));
232
+ return fe(i) || (c = qe(c + n)), fe(s) || (u = qe(u - n)), Ze(c) && Ze(u) || (c = u = void 0), { min: c, max: u };
233
+ }
234
+ }
235
+ var Is = R(620), zs = R.n(Is), Ls = R(512), _ = R.n(Ls);
236
+ let { parse: Ws } = zs(), { seriesTypes: Xs } = _(), xe = { height: 40, margin: 22, maskInside: !0, handles: { width: 7, borderRadius: 0, height: 15, symbols: ["navigator-handle", "navigator-handle"], enabled: !0, lineWidth: 1, backgroundColor: "#f2f2f2", borderColor: "#999999" }, maskFill: Ws("#667aff").setOpacity(0.3).get(), outlineColor: "#999999", outlineWidth: 1, series: { type: Xs.areaspline === void 0 ? "line" : "areaspline", fillOpacity: 0.05, lineWidth: 1, compare: null, sonification: { enabled: !1 }, dataGrouping: { approximation: "average", enabled: !0, groupPixelWidth: 2, firstAnchor: "firstPoint", anchor: "middle", lastAnchor: "lastPoint", units: [["millisecond", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]], ["second", [1, 2, 5, 10, 15, 30]], ["minute", [1, 2, 5, 10, 15, 30]], ["hour", [1, 2, 3, 4, 6, 8, 12]], ["day", [1, 2, 3, 4]], ["week", [1, 2, 3]], ["month", [1, 3, 6]], ["year", null]] }, dataLabels: { enabled: !1, zIndex: 2 }, id: "highcharts-navigator-series", className: "highcharts-navigator-series", lineColor: null, marker: { enabled: !1 }, threshold: null }, xAxis: { className: "highcharts-navigator-xaxis", tickLength: 0, lineWidth: 0, gridLineColor: "#e6e6e6", id: "navigator-x-axis", gridLineWidth: 1, tickPixelInterval: 200, labels: { align: "left", style: { color: "#000000", fontSize: "0.7em", opacity: 0.6, textOutline: "2px contrast" }, x: 3, y: -4 }, crosshair: !1 }, yAxis: { className: "highcharts-navigator-yaxis", gridLineWidth: 0, startOnTick: !1, endOnTick: !1, minPadding: 0.1, id: "navigator-y-axis", maxPadding: 0.1, labels: { enabled: !1 }, crosshair: !1, title: { text: void 0 }, tickLength: 0, tickWidth: 0 } }, { defined: xa, isNumber: ba, pick: va } = B(), Hs = { rect: function(a, t, e, i, s) {
237
+ return s?.r ? function(o, n, c, u, g) {
238
+ let p = g?.r || 0;
239
+ return [["M", o + p, n], ["L", o + c - p, n], ["A", p, p, 0, 0, 1, o + c, n + p], ["L", o + c, n + u - p], ["A", p, p, 0, 0, 1, o + c - p, n + u], ["L", o + p, n + u], ["A", p, p, 0, 0, 1, o, n + u - p], ["L", o, n + p], ["A", p, p, 0, 0, 1, o + p, n], ["Z"]];
240
+ }(a, t, e, i, s) : [["M", a, t], ["L", a + e, t], ["L", a + e, t + i], ["L", a, t + i], ["Z"]];
241
+ } }, { relativeLength: Ys } = B(), Ns = { "navigator-handle": function(a, t, e, i, s = {}) {
242
+ let o = s.width ? s.width / 2 : e, n = Ys(s.borderRadius || 0, Math.min(2 * o, i));
243
+ return [["M", -1.5, (i = s.height || i) / 2 - 3.5], ["L", -1.5, i / 2 + 4.5], ["M", 0.5, i / 2 - 3.5], ["L", 0.5, i / 2 + 4.5], ...Hs.rect(-o - 1, 0.5, 2 * o + 1, i, { r: n })];
244
+ } };
245
+ var Fs = R(608), $e = R.n(Fs);
246
+ let { defined: Je } = B(), Qe = { setFixedRange: function(a) {
247
+ let t = this.xAxis[0];
248
+ Je(t.dataMax) && Je(t.dataMin) && a ? this.fixedRange = Math.min(a, t.dataMax - t.dataMin) : this.fixedRange = a;
249
+ } }, { setOptions: Us } = B(), { composed: Vs } = B(), { getRendererType: _s } = $e(), { setFixedRange: js } = Qe, { addEvent: qs, extend: Zs, pushUnique: Ks } = B();
250
+ function $s() {
251
+ this.chart.navigator && !this.options.isInternal && this.chart.navigator.setBaseSeries(null, !1);
252
+ }
253
+ let Js = { compose: function(a, t, e) {
254
+ me.compose(t), Ks(Vs, "Navigator") && (a.prototype.setFixedRange = js, Zs(_s().prototype.symbols, Ns), qs(e, "afterUpdate", $s), Us({ navigator: xe }));
255
+ } }, { composed: Qs } = B(), { addEvent: Nt, defined: bt, pick: Ft, pushUnique: to } = B();
256
+ (function(a) {
257
+ let t;
258
+ function e(n) {
259
+ let c = Ft(n.options?.min, n.min), u = Ft(n.options?.max, n.max);
260
+ return { axisMin: c, axisMax: u, scrollMin: bt(n.dataMin) ? Math.min(c, n.min, n.dataMin, Ft(n.threshold, 1 / 0)) : c, scrollMax: bt(n.dataMax) ? Math.max(u, n.max, n.dataMax, Ft(n.threshold, -1 / 0)) : u };
261
+ }
262
+ function i() {
263
+ let n = this.scrollbar, c = n && !n.options.opposite, u = this.horiz ? 2 : c ? 3 : 1;
264
+ n && (this.chart.scrollbarsOffsets = [0, 0], this.chart.axisOffset[u] += n.size + (n.options.margin || 0));
265
+ }
266
+ function s() {
267
+ let n = this;
268
+ n.options?.scrollbar?.enabled && (n.options.scrollbar.vertical = !n.horiz, n.options.startOnTick = n.options.endOnTick = !1, n.scrollbar = new t(n.chart.renderer, n.options.scrollbar, n.chart), Nt(n.scrollbar, "changed", function(c) {
269
+ let u, g, { axisMin: p, axisMax: d, scrollMin: r, scrollMax: l } = e(n), h = l - r;
270
+ if (bt(p) && bt(d))
271
+ if (n.horiz && !n.reversed || !n.horiz && n.reversed ? (u = r + h * this.to, g = r + h * this.from) : (u = r + h * (1 - this.from), g = r + h * (1 - this.to)), this.shouldUpdateExtremes(c.DOMType)) {
272
+ let f = c.DOMType !== "mousemove" && c.DOMType !== "touchmove" && void 0;
273
+ n.setExtremes(g, u, !0, f, c);
274
+ } else this.setRange(this.from, this.to);
275
+ }));
276
+ }
277
+ function o() {
278
+ let n, c, u, { scrollMin: g, scrollMax: p } = e(this), d = this.scrollbar, r = this.axisTitleMargin + (this.titleOffset || 0), l = this.chart.scrollbarsOffsets, h = this.options.margin || 0;
279
+ if (d && l) {
280
+ if (this.horiz) this.opposite || (l[1] += r), d.position(this.left, this.top + this.height + 2 + l[1] - (this.opposite ? h : 0), this.width, this.height), this.opposite || (l[1] += h), n = 1;
281
+ else {
282
+ let f;
283
+ this.opposite && (l[0] += r), f = d.options.opposite ? this.left + this.width + 2 + l[0] - (this.opposite ? 0 : h) : this.opposite ? 0 : h, d.position(f, this.top, this.width, this.height), this.opposite && (l[0] += h), n = 0;
284
+ }
285
+ if (l[n] += d.size + (d.options.margin || 0), isNaN(g) || isNaN(p) || !bt(this.min) || !bt(this.max) || this.dataMin === this.dataMax) d.setRange(0, 1);
286
+ else if (this.min === this.max) {
287
+ let f = this.pointRange / (this.dataMax + 1);
288
+ c = f * this.min, u = f * (this.max + 1), d.setRange(c, u);
289
+ } else c = (this.min - g) / (p - g), u = (this.max - g) / (p - g), this.horiz && !this.reversed || !this.horiz && this.reversed ? d.setRange(c, u) : d.setRange(1 - u, 1 - c);
290
+ }
291
+ }
292
+ a.compose = function(n, c) {
293
+ to(Qs, "Axis.Scrollbar") && (t = c, Nt(n, "afterGetOffset", i), Nt(n, "afterInit", s), Nt(n, "afterRender", o));
294
+ };
295
+ })(re || (re = {}));
296
+ let eo = re, be = { height: 10, barBorderRadius: 5, buttonBorderRadius: 0, buttonsEnabled: !1, liveRedraw: void 0, margin: void 0, minWidth: 6, opposite: !0, step: 0.2, zIndex: 3, barBackgroundColor: "#cccccc", barBorderWidth: 0, barBorderColor: "#cccccc", buttonArrowColor: "#333333", buttonBackgroundColor: "#e6e6e6", buttonBorderColor: "#cccccc", buttonBorderWidth: 1, rifleColor: "none", trackBackgroundColor: "rgba(255, 255, 255, 0.001)", trackBorderColor: "#cccccc", trackBorderRadius: 5, trackBorderWidth: 1 }, { defaultOptions: ve } = B(), { addEvent: io, correctFloat: ut, crisp: Ut, defined: ti, destroyObjectProperties: so, fireEvent: Gt, merge: ye, pick: It, removeEvent: oo } = B();
297
+ class at {
298
+ static compose(t) {
299
+ eo.compose(t, at);
300
+ }
301
+ static swapXY(t, e) {
302
+ return e && t.forEach((i) => {
303
+ let s, o = i.length;
304
+ for (let n = 0; n < o; n += 2) typeof (s = i[n + 1]) == "number" && (i[n + 1] = i[n + 2], i[n + 2] = s);
305
+ }), t;
306
+ }
307
+ constructor(t, e, i) {
308
+ this._events = [], this.chartX = 0, this.chartY = 0, this.from = 0, this.scrollbarButtons = [], this.scrollbarLeft = 0, this.scrollbarStrokeWidth = 1, this.scrollbarTop = 0, this.size = 0, this.to = 0, this.trackBorderWidth = 1, this.x = 0, this.y = 0, this.init(t, e, i);
309
+ }
310
+ addEvents() {
311
+ let t = this.options.inverted ? [1, 0] : [0, 1], e = this.scrollbarButtons, i = this.scrollbarGroup.element, s = this.track.element, o = this.mouseDownHandler.bind(this), n = this.mouseMoveHandler.bind(this), c = this.mouseUpHandler.bind(this), u = [[e[t[0]].element, "click", this.buttonToMinClick.bind(this)], [e[t[1]].element, "click", this.buttonToMaxClick.bind(this)], [s, "click", this.trackClick.bind(this)], [i, "mousedown", o], [i.ownerDocument, "mousemove", n], [i.ownerDocument, "mouseup", c], [i, "touchstart", o], [i.ownerDocument, "touchmove", n], [i.ownerDocument, "touchend", c]];
312
+ u.forEach(function(g) {
313
+ io.apply(null, g);
314
+ }), this._events = u;
315
+ }
316
+ buttonToMaxClick(t) {
317
+ let e = (this.to - this.from) * It(this.options.step, 0.2);
318
+ this.updatePosition(this.from + e, this.to + e), Gt(this, "changed", { from: this.from, to: this.to, trigger: "scrollbar", DOMEvent: t });
319
+ }
320
+ buttonToMinClick(t) {
321
+ let e = ut(this.to - this.from) * It(this.options.step, 0.2);
322
+ this.updatePosition(ut(this.from - e), ut(this.to - e)), Gt(this, "changed", { from: this.from, to: this.to, trigger: "scrollbar", DOMEvent: t });
323
+ }
324
+ cursorToScrollbarPosition(t) {
325
+ let e = this.options, i = e.minWidth > this.calculatedWidth ? e.minWidth : 0;
326
+ return { chartX: (t.chartX - this.x - this.xOffset) / (this.barWidth - i), chartY: (t.chartY - this.y - this.yOffset) / (this.barWidth - i) };
327
+ }
328
+ destroy() {
329
+ let t = this, e = t.chart.scroller;
330
+ t.removeEvents(), ["track", "scrollbarRifles", "scrollbar", "scrollbarGroup", "group"].forEach(function(i) {
331
+ t[i] && t[i].destroy && (t[i] = t[i].destroy());
332
+ }), e && t === e.scrollbar && (e.scrollbar = null, so(e.scrollbarButtons));
333
+ }
334
+ drawScrollbarButton(t) {
335
+ let e = this.renderer, i = this.scrollbarButtons, s = this.options, o = this.size, n = e.g().add(this.group);
336
+ if (i.push(n), s.buttonsEnabled) {
337
+ let c = e.rect().addClass("highcharts-scrollbar-button").add(n);
338
+ this.chart.styledMode || c.attr({ stroke: s.buttonBorderColor, "stroke-width": s.buttonBorderWidth, fill: s.buttonBackgroundColor }), c.attr(c.crisp({ x: -0.5, y: -0.5, width: o, height: o, r: s.buttonBorderRadius }, c.strokeWidth()));
339
+ let u = e.path(at.swapXY([["M", o / 2 + (t ? -1 : 1), o / 2 - 3], ["L", o / 2 + (t ? -1 : 1), o / 2 + 3], ["L", o / 2 + (t ? 2 : -2), o / 2]], s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);
340
+ this.chart.styledMode || u.attr({ fill: s.buttonArrowColor });
341
+ }
342
+ }
343
+ init(t, e, i) {
344
+ this.scrollbarButtons = [], this.renderer = t, this.userOptions = e, this.options = ye(be, ve.scrollbar, e), this.options.margin = It(this.options.margin, 10), this.chart = i, this.size = It(this.options.size, this.options.height), e.enabled && (this.render(), this.addEvents());
345
+ }
346
+ mouseDownHandler(t) {
347
+ let e = this.chart.pointer?.normalize(t) || t, i = this.cursorToScrollbarPosition(e);
348
+ this.chartX = i.chartX, this.chartY = i.chartY, this.initPositions = [this.from, this.to], this.grabbedCenter = !0;
349
+ }
350
+ mouseMoveHandler(t) {
351
+ let e, i = this.chart.pointer?.normalize(t) || t, s = this.options.vertical ? "chartY" : "chartX", o = this.initPositions || [];
352
+ this.grabbedCenter && (!t.touches || t.touches[0][s] !== 0) && (e = this.cursorToScrollbarPosition(i)[s] - this[s], this.hasDragged = !0, this.updatePosition(o[0] + e, o[1] + e), this.hasDragged && Gt(this, "changed", { from: this.from, to: this.to, trigger: "scrollbar", DOMType: t.type, DOMEvent: t }));
353
+ }
354
+ mouseUpHandler(t) {
355
+ this.hasDragged && Gt(this, "changed", { from: this.from, to: this.to, trigger: "scrollbar", DOMType: t.type, DOMEvent: t }), this.grabbedCenter = this.hasDragged = this.chartX = this.chartY = null;
356
+ }
357
+ position(t, e, i, s) {
358
+ let { buttonsEnabled: o, margin: n = 0, vertical: c } = this.options, u = this.rendered ? "animate" : "attr", g = s, p = 0;
359
+ this.group.show(), this.x = t, this.y = e + this.trackBorderWidth, this.width = i, this.height = s, this.xOffset = g, this.yOffset = p, c ? (this.width = this.yOffset = i = p = this.size, this.xOffset = g = 0, this.yOffset = p = o ? this.size : 0, this.barWidth = s - (o ? 2 * i : 0), this.x = t += n) : (this.height = s = this.size, this.xOffset = g = o ? this.size : 0, this.barWidth = i - (o ? 2 * s : 0), this.y = this.y + n), this.group[u]({ translateX: t, translateY: this.y }), this.track[u]({ width: i, height: s }), this.scrollbarButtons[1][u]({ translateX: c ? 0 : i - g, translateY: c ? s - p : 0 });
360
+ }
361
+ removeEvents() {
362
+ this._events.forEach(function(t) {
363
+ oo.apply(null, t);
364
+ }), this._events.length = 0;
365
+ }
366
+ render() {
367
+ let t = this.renderer, e = this.options, i = this.size, s = this.chart.styledMode, o = t.g("scrollbar").attr({ zIndex: e.zIndex }).hide().add();
368
+ this.group = o, this.track = t.rect().addClass("highcharts-scrollbar-track").attr({ r: e.trackBorderRadius || 0, height: i, width: i }).add(o), s || this.track.attr({ fill: e.trackBackgroundColor, stroke: e.trackBorderColor, "stroke-width": e.trackBorderWidth });
369
+ let n = this.trackBorderWidth = this.track.strokeWidth();
370
+ this.track.attr({ x: -Ut(0, n), y: -Ut(0, n) }), this.scrollbarGroup = t.g().add(o), this.scrollbar = t.rect().addClass("highcharts-scrollbar-thumb").attr({ height: i - n, width: i - n, r: e.barBorderRadius || 0 }).add(this.scrollbarGroup), this.scrollbarRifles = t.path(at.swapXY([["M", -3, i / 4], ["L", -3, 2 * i / 3], ["M", 0, i / 4], ["L", 0, 2 * i / 3], ["M", 3, i / 4], ["L", 3, 2 * i / 3]], e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup), s || (this.scrollbar.attr({ fill: e.barBackgroundColor, stroke: e.barBorderColor, "stroke-width": e.barBorderWidth }), this.scrollbarRifles.attr({ stroke: e.rifleColor, "stroke-width": 1 })), this.scrollbarStrokeWidth = this.scrollbar.strokeWidth(), this.scrollbarGroup.translate(-Ut(0, this.scrollbarStrokeWidth), -Ut(0, this.scrollbarStrokeWidth)), this.drawScrollbarButton(0), this.drawScrollbarButton(1);
371
+ }
372
+ setRange(t, e) {
373
+ let i, s, o = this.options, n = o.vertical, c = o.minWidth, u = this.barWidth, g = !this.rendered || this.hasDragged || this.chart.navigator && this.chart.navigator.hasDragged ? "attr" : "animate";
374
+ if (!ti(u)) return;
375
+ let p = u * Math.min(e, 1);
376
+ i = Math.ceil(u * (t = Math.max(t, 0))), this.calculatedWidth = s = ut(p - i), s < c && (i = (u - c + s) * t, s = c);
377
+ let d = Math.floor(i + this.xOffset + this.yOffset), r = s / 2 - 0.5;
378
+ this.from = t, this.to = e, n ? (this.scrollbarGroup[g]({ translateY: d }), this.scrollbar[g]({ height: s }), this.scrollbarRifles[g]({ translateY: r }), this.scrollbarTop = d, this.scrollbarLeft = 0) : (this.scrollbarGroup[g]({ translateX: d }), this.scrollbar[g]({ width: s }), this.scrollbarRifles[g]({ translateX: r }), this.scrollbarLeft = d, this.scrollbarTop = 0), s <= 12 ? this.scrollbarRifles.hide() : this.scrollbarRifles.show(), o.showFull === !1 && (t <= 0 && e >= 1 ? this.group.hide() : this.group.show()), this.rendered = !0;
379
+ }
380
+ shouldUpdateExtremes(t) {
381
+ return It(this.options.liveRedraw, B().svg && !B().isTouchDevice && !this.chart.boosted) || t === "mouseup" || t === "touchend" || !ti(t);
382
+ }
383
+ trackClick(t) {
384
+ let e = this.chart.pointer?.normalize(t) || t, i = this.to - this.from, s = this.y + this.scrollbarTop, o = this.x + this.scrollbarLeft;
385
+ this.options.vertical && e.chartY > s || !this.options.vertical && e.chartX > o ? this.updatePosition(this.from + i, this.to + i) : this.updatePosition(this.from - i, this.to - i), Gt(this, "changed", { from: this.from, to: this.to, trigger: "scrollbar", DOMEvent: t });
386
+ }
387
+ update(t) {
388
+ this.destroy(), this.init(this.chart.renderer, ye(!0, this.options, t), this.chart);
389
+ }
390
+ updatePosition(t, e) {
391
+ e > 1 && (t = ut(1 - ut(e - t)), e = 1), t < 0 && (e = ut(e - t), t = 0), this.from = t, this.to = e;
392
+ }
393
+ }
394
+ at.defaultOptions = be, ve.scrollbar = ye(!0, at.defaultOptions, ve.scrollbar);
395
+ var ro = R(540), ao = R.n(ro);
396
+ let { defaultOptions: Me } = B(), { isTouchDevice: no } = B(), { prototype: { symbols: ei } } = ao(), { addEvent: Y, clamp: ii, correctFloat: Vt, defined: vt, destroyObjectProperties: lo, erase: yt, extend: ho, find: po, fireEvent: Ae, isArray: si, isNumber: K, merge: Mt, pick: j, removeEvent: _t, splat: oi } = B();
397
+ function jt(a, ...t) {
398
+ let e = [].filter.call(t, K);
399
+ if (e.length) return Math[a].apply(0, e);
400
+ }
401
+ class qt {
402
+ static compose(t, e, i) {
403
+ Ds.compose(t, qt), Js.compose(t, e, i);
404
+ }
405
+ constructor(t) {
406
+ this.isDirty = !1, this.scrollbarHeight = 0, this.init(t);
407
+ }
408
+ drawHandle(t, e, i, s) {
409
+ let o = this.navigatorOptions.handles.height;
410
+ this.handles[e][s](i ? { translateX: Math.round(this.left + this.height / 2), translateY: Math.round(this.top + parseInt(t, 10) + 0.5 - o) } : { translateX: Math.round(this.left + parseInt(t, 10)), translateY: Math.round(this.top + this.height / 2 - o / 2 - 1) });
411
+ }
412
+ drawOutline(t, e, i, s) {
413
+ let o = this.navigatorOptions.maskInside, n = this.outline.strokeWidth(), c = n / 2, u = n % 2 / 2, g = this.scrollButtonSize, p = this.size, d = this.top, r = this.height, l = d - c, h = d + r, f = this.left, m, x;
414
+ i ? (m = d + e + u, e = d + t + u, x = [["M", f + r, d - g - u], ["L", f + r, m], ["L", f, m], ["M", f, e], ["L", f + r, e], ["L", f + r, d + p + g]], o && x.push(["M", f + r, m - c], ["L", f + r, e + c])) : (f -= g, t += f + g - u, e += f + g - u, x = [["M", f, l], ["L", t, l], ["L", t, h], ["M", e, h], ["L", e, l], ["L", f + p + 2 * g, l]], o && x.push(["M", t - c, l], ["L", e + c, l])), this.outline[s]({ d: x });
415
+ }
416
+ drawMasks(t, e, i, s) {
417
+ let o, n, c, u, g = this.left, p = this.top, d = this.height;
418
+ i ? (c = [g, g, g], u = [p, p + t, p + e], n = [d, d, d], o = [t, e - t, this.size - e]) : (c = [g, g + t, g + e], u = [p, p, p], n = [t, e - t, this.size - e], o = [d, d, d]), this.shades.forEach((r, l) => {
419
+ r[s]({ x: c[l], y: u[l], width: n[l], height: o[l] });
420
+ });
421
+ }
422
+ renderElements() {
423
+ let t = this, e = t.navigatorOptions, i = e.maskInside, s = t.chart, o = s.inverted, n = s.renderer, c = { cursor: o ? "ns-resize" : "ew-resize" }, u = t.navigatorGroup ?? (t.navigatorGroup = n.g("navigator").attr({ zIndex: 8, visibility: "hidden" }).add());
424
+ if ([!i, i, !i].forEach((g, p) => {
425
+ let d = t.shades[p] ?? (t.shades[p] = n.rect().addClass("highcharts-navigator-mask" + (p === 1 ? "-inside" : "-outside")).add(u));
426
+ s.styledMode || (d.attr({ fill: g ? e.maskFill : "rgba(0,0,0,0)" }), p === 1 && d.css(c));
427
+ }), t.outline || (t.outline = n.path().addClass("highcharts-navigator-outline").add(u)), s.styledMode || t.outline.attr({ "stroke-width": e.outlineWidth, stroke: e.outlineColor }), e.handles?.enabled) {
428
+ let g = e.handles, { height: p, width: d } = g;
429
+ [0, 1].forEach((r) => {
430
+ let l = g.symbols[r];
431
+ if (t.handles[r] && t.handles[r].symbolUrl === l) {
432
+ if (!t.handles[r].isImg && t.handles[r].symbolName !== l) {
433
+ let h = ei[l].call(ei, -d / 2 - 1, 0, d, p);
434
+ t.handles[r].attr({ d: h }), t.handles[r].symbolName = l;
435
+ }
436
+ } else t.handles[r]?.destroy(), t.handles[r] = n.symbol(l, -d / 2 - 1, 0, d, p, g), t.handles[r].attr({ zIndex: 7 - r }).addClass("highcharts-navigator-handle highcharts-navigator-handle-" + ["left", "right"][r]).add(u), t.addMouseEvents();
437
+ s.inverted && t.handles[r].attr({ rotation: 90, rotationOriginX: Math.floor(-d / 2), rotationOriginY: (p + d) / 2 }), s.styledMode || t.handles[r].attr({ fill: g.backgroundColor, stroke: g.borderColor, "stroke-width": g.lineWidth, width: g.width, height: g.height, x: -d / 2 - 1, y: 0 }).css(c);
438
+ });
439
+ }
440
+ }
441
+ update(t, e = !1) {
442
+ let i = this.chart, s = i.options.chart.inverted !== i.scrollbar?.options.vertical;
443
+ if (Mt(!0, i.options.navigator, t), this.navigatorOptions = i.options.navigator || {}, this.setOpposite(), vt(t.enabled) || s) return this.destroy(), this.navigatorEnabled = t.enabled || this.navigatorEnabled, this.init(i);
444
+ if (this.navigatorEnabled && (this.isDirty = !0, t.adaptToUpdatedData === !1 && this.baseSeries.forEach((o) => {
445
+ _t(o, "updatedData", this.updatedDataHandler);
446
+ }, this), t.adaptToUpdatedData && this.baseSeries.forEach((o) => {
447
+ o.eventsToUnbind.push(Y(o, "updatedData", this.updatedDataHandler));
448
+ }, this), (t.series || t.baseSeries) && this.setBaseSeries(void 0, !1), t.height || t.xAxis || t.yAxis)) {
449
+ this.height = t.height ?? this.height;
450
+ let o = this.getXAxisOffsets();
451
+ this.xAxis.update({ ...t.xAxis, offsets: o, [i.inverted ? "width" : "height"]: this.height, [i.inverted ? "height" : "width"]: void 0 }, !1), this.yAxis.update({ ...t.yAxis, [i.inverted ? "width" : "height"]: this.height }, !1);
452
+ }
453
+ e && i.redraw();
454
+ }
455
+ render(t, e, i, s) {
456
+ let o = this.chart, n = this.xAxis, c = n.pointRange || 0, u = n.navigatorAxis.fake ? o.xAxis[0] : n, g = this.navigatorEnabled, p = this.rendered, d = o.inverted, r = o.xAxis[0].minRange, l = o.xAxis[0].options.maxRange, h = this.scrollButtonSize, f, m, x, b = this.scrollbarHeight, w, v;
457
+ if (this.hasDragged && !vt(i)) return;
458
+ if (this.isDirty && this.renderElements(), t = Vt(t - c / 2), e = Vt(e + c / 2), !K(t) || !K(e)) {
459
+ if (!p) return;
460
+ i = 0, s = j(n.width, u.width);
461
+ }
462
+ this.left = j(n.left, o.plotLeft + h + (d ? o.plotWidth : 0));
463
+ let M = this.size = w = j(n.len, (d ? o.plotHeight : o.plotWidth) - 2 * h);
464
+ f = d ? b : w + 2 * h, i = j(i, n.toPixels(t, !0)), s = j(s, n.toPixels(e, !0)), K(i) && Math.abs(i) !== 1 / 0 || (i = 0, s = f);
465
+ let A = n.toValue(i, !0), y = n.toValue(s, !0), E = Math.abs(Vt(y - A));
466
+ E < r ? this.grabbedLeft ? i = n.toPixels(y - r - c, !0) : this.grabbedRight && (s = n.toPixels(A + r + c, !0)) : vt(l) && Vt(E - c) > l && (this.grabbedLeft ? i = n.toPixels(y - l - c, !0) : this.grabbedRight && (s = n.toPixels(A + l + c, !0))), this.zoomedMax = ii(Math.max(i, s), 0, M), this.zoomedMin = ii(this.fixedWidth ? this.zoomedMax - this.fixedWidth : Math.min(i, s), 0, M), this.range = this.zoomedMax - this.zoomedMin, M = Math.round(this.zoomedMax);
467
+ let k = Math.round(this.zoomedMin);
468
+ g && (this.navigatorGroup.attr({ visibility: "inherit" }), v = p && !this.hasDragged ? "animate" : "attr", this.drawMasks(k, M, d, v), this.drawOutline(k, M, d, v), this.navigatorOptions.handles.enabled && (this.drawHandle(k, 0, d, v), this.drawHandle(M, 1, d, v))), this.scrollbar && (d ? (x = this.top - h, m = this.left - b + (g || !u.opposite ? 0 : (u.titleOffset || 0) + u.axisTitleMargin), b = w + 2 * h) : (x = this.top + (g ? this.height : -b), m = this.left - h), this.scrollbar.position(m, x, f, b), this.scrollbar.setRange(this.zoomedMin / (w || 1), this.zoomedMax / (w || 1))), this.rendered = !0, this.isDirty = !1, Ae(this, "afterRender");
469
+ }
470
+ addMouseEvents() {
471
+ let t = this, e = t.chart, i = e.container, s = [], o, n;
472
+ t.mouseMoveHandler = o = function(c) {
473
+ t.onMouseMove(c);
474
+ }, t.mouseUpHandler = n = function(c) {
475
+ t.onMouseUp(c);
476
+ }, (s = t.getPartsEvents("mousedown")).push(Y(e.renderTo, "mousemove", o), Y(i.ownerDocument, "mouseup", n), Y(e.renderTo, "touchmove", o), Y(i.ownerDocument, "touchend", n)), s.concat(t.getPartsEvents("touchstart")), t.eventsToUnbind = s, t.series && t.series[0] && s.push(Y(t.series[0].xAxis, "foundExtremes", function() {
477
+ e.navigator.modifyNavigatorAxisExtremes();
478
+ }));
479
+ }
480
+ getPartsEvents(t) {
481
+ let e = this, i = [];
482
+ return ["shades", "handles"].forEach(function(s) {
483
+ e[s].forEach(function(o, n) {
484
+ i.push(Y(o.element, t, function(c) {
485
+ e[s + "Mousedown"](c, n);
486
+ }));
487
+ });
488
+ }), i;
489
+ }
490
+ shadesMousedown(t, e) {
491
+ t = this.chart.pointer?.normalize(t) || t;
492
+ let i = this.chart, s = this.xAxis, o = this.zoomedMin, n = this.size, c = this.range, u = this.left, g = t.chartX, p, d, r, l;
493
+ i.inverted && (g = t.chartY, u = this.top), e === 1 ? (this.grabbedCenter = g, this.fixedWidth = c, this.dragOffset = g - o) : (l = g - u - c / 2, e === 0 ? l = Math.max(0, l) : e === 2 && l + c >= n && (l = n - c, this.reversedExtremes ? (l -= c, d = this.getUnionExtremes().dataMin) : p = this.getUnionExtremes().dataMax), l !== o && (this.fixedWidth = c, vt((r = s.navigatorAxis.toFixedRange(l, l + c, d, p)).min) && Ae(this, "setRange", { min: Math.min(r.min, r.max), max: Math.max(r.min, r.max), redraw: !0, eventArguments: { trigger: "navigator" } })));
494
+ }
495
+ handlesMousedown(t, e) {
496
+ t = this.chart.pointer?.normalize(t) || t;
497
+ let i = this.chart, s = i.xAxis[0], o = this.reversedExtremes;
498
+ e === 0 ? (this.grabbedLeft = !0, this.otherHandlePos = this.zoomedMax, this.fixedExtreme = o ? s.min : s.max) : (this.grabbedRight = !0, this.otherHandlePos = this.zoomedMin, this.fixedExtreme = o ? s.max : s.min), i.setFixedRange(void 0);
499
+ }
500
+ onMouseMove(t) {
501
+ let e = this, i = e.chart, s = e.navigatorSize, o = e.range, n = e.dragOffset, c = i.inverted, u = e.left, g;
502
+ (!t.touches || t.touches[0].pageX !== 0) && (g = (t = i.pointer?.normalize(t) || t).chartX, c && (u = e.top, g = t.chartY), e.grabbedLeft ? (e.hasDragged = !0, e.render(0, 0, g - u, e.otherHandlePos)) : e.grabbedRight ? (e.hasDragged = !0, e.render(0, 0, e.otherHandlePos, g - u)) : e.grabbedCenter && (e.hasDragged = !0, g < n ? g = n : g > s + n - o && (g = s + n - o), e.render(0, 0, g - n, g - n + o)), e.hasDragged && e.scrollbar && j(e.scrollbar.options.liveRedraw, !no && !this.chart.boosted) && (t.DOMType = t.type, setTimeout(function() {
503
+ e.onMouseUp(t);
504
+ }, 0)));
505
+ }
506
+ onMouseUp(t) {
507
+ let e, i, s, o, n, c, u = this.chart, g = this.xAxis, p = this.scrollbar, d = t.DOMEvent || t, r = u.inverted, l = this.rendered && !this.hasDragged ? "animate" : "attr";
508
+ (this.hasDragged && (!p || !p.hasDragged) || t.trigger === "scrollbar") && (s = this.getUnionExtremes(), this.zoomedMin === this.otherHandlePos ? o = this.fixedExtreme : this.zoomedMax === this.otherHandlePos && (n = this.fixedExtreme), this.zoomedMax === this.size && (n = this.reversedExtremes ? s.dataMin : s.dataMax), this.zoomedMin === 0 && (o = this.reversedExtremes ? s.dataMax : s.dataMin), vt((c = g.navigatorAxis.toFixedRange(this.zoomedMin, this.zoomedMax, o, n)).min) && Ae(this, "setRange", { min: Math.min(c.min, c.max), max: Math.max(c.min, c.max), redraw: !0, animation: !this.hasDragged && null, eventArguments: { trigger: "navigator", triggerOp: "navigator-drag", DOMEvent: d } })), t.DOMType !== "mousemove" && t.DOMType !== "touchmove" && (this.grabbedLeft = this.grabbedRight = this.grabbedCenter = this.fixedWidth = this.fixedExtreme = this.otherHandlePos = this.hasDragged = this.dragOffset = null), this.navigatorEnabled && K(this.zoomedMin) && K(this.zoomedMax) && (i = Math.round(this.zoomedMin), e = Math.round(this.zoomedMax), this.shades && this.drawMasks(i, e, r, l), this.outline && this.drawOutline(i, e, r, l), this.navigatorOptions.handles.enabled && Object.keys(this.handles).length === this.handles.length && (this.drawHandle(i, 0, r, l), this.drawHandle(e, 1, r, l)));
509
+ }
510
+ removeEvents() {
511
+ this.eventsToUnbind && (this.eventsToUnbind.forEach(function(t) {
512
+ t();
513
+ }), this.eventsToUnbind = void 0), this.removeBaseSeriesEvents();
514
+ }
515
+ removeBaseSeriesEvents() {
516
+ let t = this.baseSeries || [];
517
+ this.navigatorEnabled && t[0] && (this.navigatorOptions.adaptToUpdatedData !== !1 && t.forEach(function(e) {
518
+ _t(e, "updatedData", this.updatedDataHandler);
519
+ }, this), t[0].xAxis && _t(t[0].xAxis, "foundExtremes", this.modifyBaseAxisExtremes));
520
+ }
521
+ getXAxisOffsets() {
522
+ return this.chart.inverted ? [this.scrollButtonSize, 0, -this.scrollButtonSize, 0] : [0, -this.scrollButtonSize, 0, this.scrollButtonSize];
523
+ }
524
+ init(t) {
525
+ let e = t.options, i = e.navigator || {}, s = i.enabled, o = e.scrollbar || {}, n = o.enabled, c = s && i.height || 0, u = n && o.height || 0, g = o.buttonsEnabled && u || 0;
526
+ this.handles = [], this.shades = [], this.chart = t, this.setBaseSeries(), this.height = c, this.scrollbarHeight = u, this.scrollButtonSize = g, this.scrollbarEnabled = n, this.navigatorEnabled = s, this.navigatorOptions = i, this.scrollbarOptions = o, this.setOpposite();
527
+ let p = this, d = p.baseSeries, r = t.xAxis.length, l = t.yAxis.length, h = d && d[0] && d[0].xAxis || t.xAxis[0] || { options: {} };
528
+ if (t.isDirtyBox = !0, p.navigatorEnabled) {
529
+ let f = this.getXAxisOffsets();
530
+ p.xAxis = new (ue())(t, Mt({ breaks: h.options.breaks, ordinal: h.options.ordinal, overscroll: h.options.overscroll }, i.xAxis, { type: "datetime", yAxis: i.yAxis?.id, index: r, isInternal: !0, offset: 0, keepOrdinalPadding: !0, startOnTick: !1, endOnTick: !1, minPadding: h.options.ordinal ? 0 : h.options.minPadding, maxPadding: h.options.ordinal ? 0 : h.options.maxPadding, zoomEnabled: !1 }, t.inverted ? { offsets: f, width: c } : { offsets: f, height: c }), "xAxis"), p.yAxis = new (ue())(t, Mt(i.yAxis, { alignTicks: !1, offset: 0, index: l, isInternal: !0, reversed: j(i.yAxis && i.yAxis.reversed, t.yAxis[0] && t.yAxis[0].reversed, !1), zoomEnabled: !1 }, t.inverted ? { width: c } : { height: c }), "yAxis"), d || i.series.data ? p.updateNavigatorSeries(!1) : t.series.length === 0 && (p.unbindRedraw = Y(t, "beforeRedraw", function() {
531
+ t.series.length > 0 && !p.series && (p.setBaseSeries(), p.unbindRedraw());
532
+ })), p.reversedExtremes = t.inverted && !p.xAxis.reversed || !t.inverted && p.xAxis.reversed, p.renderElements(), p.addMouseEvents();
533
+ } else p.xAxis = { chart: t, navigatorAxis: { fake: !0 }, translate: function(f, m) {
534
+ let x = t.xAxis[0], b = x.getExtremes(), w = x.len - 2 * g, v = jt("min", x.options.min, b.dataMin), M = jt("max", x.options.max, b.dataMax) - v;
535
+ return m ? f * M / w + v : w * (f - v) / M;
536
+ }, toPixels: function(f) {
537
+ return this.translate(f);
538
+ }, toValue: function(f) {
539
+ return this.translate(f, !0);
540
+ } }, p.xAxis.navigatorAxis.axis = p.xAxis, p.xAxis.navigatorAxis.toFixedRange = me.prototype.toFixedRange.bind(p.xAxis.navigatorAxis);
541
+ if (t.options.scrollbar?.enabled) {
542
+ let f = Mt(t.options.scrollbar, { vertical: t.inverted });
543
+ K(f.margin) || (f.margin = t.inverted ? -3 : 3), t.scrollbar = p.scrollbar = new at(t.renderer, f, t), Y(p.scrollbar, "changed", function(m) {
544
+ let x = p.size, b = x * this.to, w = x * this.from;
545
+ p.hasDragged = p.scrollbar.hasDragged, p.render(0, 0, w, b), this.shouldUpdateExtremes(m.DOMType) && setTimeout(function() {
546
+ p.onMouseUp(m);
547
+ });
548
+ });
549
+ }
550
+ p.addBaseSeriesEvents(), p.addChartEvents();
551
+ }
552
+ setOpposite() {
553
+ let t = this.navigatorOptions, e = this.navigatorEnabled, i = this.chart;
554
+ this.opposite = j(t.opposite, !!(!e && i.inverted));
555
+ }
556
+ getUnionExtremes(t) {
557
+ let e, i = this.chart.xAxis[0], s = this.chart.time, o = this.xAxis, n = o.options, c = i.options;
558
+ return t && i.dataMin === null || (e = { dataMin: j(s.parse(n?.min), jt("min", s.parse(c.min), i.dataMin, o.dataMin, o.min)), dataMax: j(s.parse(n?.max), jt("max", s.parse(c.max), i.dataMax, o.dataMax, o.max)) }), e;
559
+ }
560
+ setBaseSeries(t, e) {
561
+ let i = this.chart, s = this.baseSeries = [];
562
+ t = t || i.options && i.options.navigator.baseSeries || (i.series.length ? po(i.series, (o) => !o.options.isInternal).index : 0), (i.series || []).forEach((o, n) => {
563
+ !o.options.isInternal && (o.options.showInNavigator || (n === t || o.options.id === t) && o.options.showInNavigator !== !1) && s.push(o);
564
+ }), this.xAxis && !this.xAxis.navigatorAxis.fake && this.updateNavigatorSeries(!0, e);
565
+ }
566
+ updateNavigatorSeries(t, e) {
567
+ let i = this, s = i.chart, o = i.baseSeries, n = { enableMouseTracking: !1, index: null, linkedTo: null, group: "nav", padXAxis: !1, xAxis: this.navigatorOptions.xAxis?.id, yAxis: this.navigatorOptions.yAxis?.id, showInLegend: !1, stacking: void 0, isInternal: !0, states: { inactive: { opacity: 1 } } }, c = i.series = (i.series || []).filter((r) => {
568
+ let l = r.baseSeries;
569
+ return !(0 > o.indexOf(l)) || (l && (_t(l, "updatedData", i.updatedDataHandler), delete l.navigatorSeries), r.chart && r.destroy(), !1);
570
+ }), u, g, p = i.navigatorOptions.series, d;
571
+ o && o.length && o.forEach((r) => {
572
+ let l = r.navigatorSeries, h = ho({ color: r.color, visible: r.visible }, si(p) ? Me.navigator.series : p);
573
+ if (l && i.navigatorOptions.adaptToUpdatedData === !1) return;
574
+ n.name = "Navigator " + o.length, d = (u = r.options || {}).navigatorOptions || {}, h.dataLabels = oi(h.dataLabels), (g = Mt(u, n, h, d)).pointRange = j(h.pointRange, d.pointRange, Me.plotOptions[g.type || "line"].pointRange);
575
+ let f = d.data || h.data;
576
+ i.hasNavigatorData = i.hasNavigatorData || !!f, g.data = f || u.data?.slice(0), l && l.options ? l.update(g, e) : (r.navigatorSeries = s.initSeries(g), s.setSortedData(), r.navigatorSeries.baseSeries = r, c.push(r.navigatorSeries));
577
+ }), (p.data && !(o && o.length) || si(p)) && (i.hasNavigatorData = !1, (p = oi(p)).forEach((r, l) => {
578
+ n.name = "Navigator " + (c.length + 1), (g = Mt(Me.navigator.series, { color: s.series[l] && !s.series[l].options.isInternal && s.series[l].color || s.options.colors[l] || s.options.colors[0] }, n, r)).data = r.data, g.data && (i.hasNavigatorData = !0, c.push(s.initSeries(g)));
579
+ })), t && this.addBaseSeriesEvents();
580
+ }
581
+ addBaseSeriesEvents() {
582
+ let t = this, e = t.baseSeries || [];
583
+ e[0] && e[0].xAxis && e[0].eventsToUnbind.push(Y(e[0].xAxis, "foundExtremes", this.modifyBaseAxisExtremes)), e.forEach((i) => {
584
+ i.eventsToUnbind.push(Y(i, "show", function() {
585
+ this.navigatorSeries && this.navigatorSeries.setVisible(!0, !1);
586
+ })), i.eventsToUnbind.push(Y(i, "hide", function() {
587
+ this.navigatorSeries && this.navigatorSeries.setVisible(!1, !1);
588
+ })), this.navigatorOptions.adaptToUpdatedData !== !1 && i.xAxis && i.eventsToUnbind.push(Y(i, "updatedData", this.updatedDataHandler)), i.eventsToUnbind.push(Y(i, "remove", function() {
589
+ e && yt(e, i), this.navigatorSeries && t.series && (yt(t.series, this.navigatorSeries), vt(this.navigatorSeries.options) && this.navigatorSeries.remove(!1), delete this.navigatorSeries);
590
+ }));
591
+ });
592
+ }
593
+ getBaseSeriesMin(t) {
594
+ return this.baseSeries.reduce(function(e, i) {
595
+ return Math.min(e, i.getColumn("x")[0] ?? e);
596
+ }, t);
597
+ }
598
+ modifyNavigatorAxisExtremes() {
599
+ let t = this.xAxis;
600
+ if (t.getExtremes !== void 0) {
601
+ let e = this.getUnionExtremes(!0);
602
+ e && (e.dataMin !== t.min || e.dataMax !== t.max) && (t.min = e.dataMin, t.max = e.dataMax);
603
+ }
604
+ }
605
+ modifyBaseAxisExtremes() {
606
+ let t, e, i = this.chart.navigator, s = this.getExtremes(), o = s.min, n = s.max, c = s.dataMin, u = s.dataMax, g = n - o, p = i.stickToMin, d = i.stickToMax, r = j(this.ordinal?.convertOverscroll(this.options.overscroll), 0), l = i.series && i.series[0], h = !!this.setExtremes;
607
+ !(this.eventArgs && this.eventArgs.trigger === "rangeSelectorButton") && (p && (t = (e = c) + g), d && (t = u + r, p || (e = Math.max(c, t - g, i.getBaseSeriesMin(l && l.xData ? l.xData[0] : -Number.MAX_VALUE)))), h && (p || d) && K(e) && (this.min = this.userMin = e, this.max = this.userMax = t)), i.stickToMin = i.stickToMax = null;
608
+ }
609
+ updatedDataHandler() {
610
+ let t = this.chart.navigator, e = this.navigatorSeries, i = t.reversedExtremes ? Math.round(t.zoomedMin) === 0 : Math.round(t.zoomedMax) >= Math.round(t.size);
611
+ t.stickToMax = j(this.chart.options.navigator && this.chart.options.navigator.stickToMax, i), t.stickToMin = t.shouldStickToMin(this, t), e && !t.hasNavigatorData && (e.options.pointStart = this.getColumn("x")[0], e.setData(this.options.data, !1, null, !1));
612
+ }
613
+ shouldStickToMin(t, e) {
614
+ let i = e.getBaseSeriesMin(t.getColumn("x")[0]), s = t.xAxis, o = s.max, n = s.min, c = s.options.range;
615
+ return !!(K(o) && K(n)) && (c && o - i > 0 ? o - i < c : n <= i);
616
+ }
617
+ addChartEvents() {
618
+ this.eventsToUnbind || (this.eventsToUnbind = []), this.eventsToUnbind.push(Y(this.chart, "redraw", function() {
619
+ let t = this.navigator, e = t && (t.baseSeries && t.baseSeries[0] && t.baseSeries[0].xAxis || this.xAxis[0]);
620
+ e && t.render(e.min, e.max);
621
+ }), Y(this.chart, "getMargins", function() {
622
+ let t = this.navigator, e = t.opposite ? "plotTop" : "marginBottom";
623
+ this.inverted && (e = t.opposite ? "marginRight" : "plotLeft"), this[e] = (this[e] || 0) + (t.navigatorEnabled || !this.inverted ? t.height + (this.scrollbar?.options.margin || 0) + t.scrollbarHeight : 0) + (t.navigatorOptions.margin || 0);
624
+ }), Y(qt, "setRange", function(t) {
625
+ this.chart.xAxis[0].setExtremes(t.min, t.max, t.redraw, t.animation, t.eventArguments);
626
+ }));
627
+ }
628
+ destroy() {
629
+ this.removeEvents(), this.xAxis && (yt(this.chart.xAxis, this.xAxis), yt(this.chart.axes, this.xAxis)), this.yAxis && (yt(this.chart.yAxis, this.yAxis), yt(this.chart.axes, this.yAxis)), (this.series || []).forEach((t) => {
630
+ t.destroy && t.destroy();
631
+ }), ["series", "xAxis", "yAxis", "shades", "outline", "scrollbarTrack", "scrollbarRifles", "scrollbarGroup", "scrollbar", "navigatorGroup", "rendered"].forEach((t) => {
632
+ this[t] && this[t].destroy && this[t].destroy(), this[t] = null;
633
+ }), [this.handles].forEach((t) => {
634
+ lo(t);
635
+ }), this.baseSeries.forEach((t) => {
636
+ t.navigatorSeries = void 0;
637
+ }), this.navigatorEnabled = !1;
638
+ }
639
+ }
640
+ (function(a) {
641
+ a.setLength = function(t, e, i) {
642
+ return Array.isArray(t) ? (t.length = e, t) : t[i ? "subarray" : "slice"](0, e);
643
+ }, a.splice = function(t, e, i, s, o = []) {
644
+ if (Array.isArray(t)) return Array.isArray(o) || (o = Array.from(o)), { removed: t.splice(e, i, ...o), array: t };
645
+ let n = Object.getPrototypeOf(t).constructor, c = t[s ? "subarray" : "slice"](e, e + i), u = new n(t.length - i + o.length);
646
+ return u.set(t.subarray(0, e), 0), u.set(o, e), u.set(t.subarray(e + i), e + o.length), { removed: c, array: u };
647
+ };
648
+ })(ae || (ae = {}));
649
+ let { setLength: uo, splice: ri } = ae, { fireEvent: ke, objectEach: zt, uniqueKey: Lt } = B(), ai = class {
650
+ constructor(a = {}) {
651
+ this.autoId = !a.id, this.columns = {}, this.id = a.id || Lt(), this.modified = this, this.rowCount = 0, this.versionTag = Lt();
652
+ let t = 0;
653
+ zt(a.columns || {}, (e, i) => {
654
+ this.columns[i] = e.slice(), t = Math.max(t, e.length);
655
+ }), this.applyRowCount(t);
656
+ }
657
+ applyRowCount(a) {
658
+ this.rowCount = a, zt(this.columns, (t, e) => {
659
+ t.length !== a && (this.columns[e] = uo(t, a));
660
+ });
661
+ }
662
+ deleteRows(a, t = 1) {
663
+ if (t > 0 && a < this.rowCount) {
664
+ let e = 0;
665
+ zt(this.columns, (i, s) => {
666
+ this.columns[s] = ri(i, a, t).array, e = i.length;
667
+ }), this.rowCount = e;
668
+ }
669
+ ke(this, "afterDeleteRows", { rowIndex: a, rowCount: t }), this.versionTag = Lt();
670
+ }
671
+ getColumn(a, t) {
672
+ return this.columns[a];
673
+ }
674
+ getColumns(a, t) {
675
+ return (a || Object.keys(this.columns)).reduce((e, i) => (e[i] = this.columns[i], e), {});
676
+ }
677
+ getRow(a, t) {
678
+ return (t || Object.keys(this.columns)).map((e) => this.columns[e]?.[a]);
679
+ }
680
+ setColumn(a, t = [], e = 0, i) {
681
+ this.setColumns({ [a]: t }, e, i);
682
+ }
683
+ setColumns(a, t, e) {
684
+ let i = this.rowCount;
685
+ zt(a, (s, o) => {
686
+ this.columns[o] = s.slice(), i = s.length;
687
+ }), this.applyRowCount(i), e?.silent || (ke(this, "afterSetColumns"), this.versionTag = Lt());
688
+ }
689
+ setRow(a, t = this.rowCount, e, i) {
690
+ let { columns: s } = this, o = e ? this.rowCount + 1 : t + 1;
691
+ zt(a, (n, c) => {
692
+ let u = s[c] || i?.addColumns !== !1 && Array(o);
693
+ u && (e ? u = ri(u, t, 0, !0, [n]).array : u[t] = n, s[c] = u);
694
+ }), o > this.rowCount && this.applyRowCount(o), i?.silent || (ke(this, "afterSetRows"), this.versionTag = Lt());
695
+ }
696
+ }, { addEvent: ct, correctFloat: Zt, css: co, defined: $, error: go, isNumber: ni, pick: we, timeUnits: fo, isString: mo } = B();
697
+ (function(a) {
698
+ function t(r, l, h, f, m = [], x = 0, b) {
699
+ let w = {}, v = this.options.tickPixelInterval, M = this.chart.time, A = [], y, E, k, T, O, S = 0, C = [], I = -Number.MAX_VALUE;
700
+ if (!this.options.ordinal && !this.options.breaks || !m || m.length < 3 || l === void 0) return M.getTimeTicks.apply(M, arguments);
701
+ let G = m.length;
702
+ for (y = 0; y < G; y++) {
703
+ if (O = y && m[y - 1] > h, m[y] < l && (S = y), y === G - 1 || m[y + 1] - m[y] > 5 * x || O) {
704
+ if (m[y] > I) {
705
+ for (E = M.getTimeTicks(r, m[S], m[y], f); E.length && E[0] <= I; ) E.shift();
706
+ E.length && (I = E[E.length - 1]), A.push(C.length), C = C.concat(E);
707
+ }
708
+ S = y + 1;
709
+ }
710
+ if (O) break;
711
+ }
712
+ if (E) {
713
+ if (T = E.info, b && T.unitRange <= fo.hour) {
714
+ for (S = 1, y = C.length - 1; S < y; S++) M.dateFormat("%d", C[S]) !== M.dateFormat("%d", C[S - 1]) && (w[C[S]] = "day", k = !0);
715
+ k && (w[C[0]] = "day"), T.higherRanks = w;
716
+ }
717
+ T.segmentStarts = A, C.info = T;
718
+ } else go(12, !1, this.chart);
719
+ if (b && $(v)) {
720
+ let D = C.length, z = [], L = [], W, X, N, ht, Bt, V = D;
721
+ for (; V--; ) X = this.translate(C[V]), N && (L[V] = N - X), z[V] = N = X;
722
+ for (L.sort((Ct, Jt) => Ct - Jt), (ht = L[Math.floor(L.length / 2)]) < 0.6 * v && (ht = null), V = C[D - 1] > h ? D - 1 : D, N = void 0; V--; ) Bt = Math.abs(N - (X = z[V])), N && Bt < 0.8 * v && (ht === null || Bt < 0.8 * ht) ? (w[C[V]] && !w[C[V + 1]] ? (W = V + 1, N = X) : W = V, C.splice(W, 1)) : N = X;
723
+ }
724
+ return C;
725
+ }
726
+ function e(r) {
727
+ let l = this.ordinal.positions;
728
+ if (!l) return r;
729
+ let h = l.length - 1, f;
730
+ return r < 0 ? r = l[0] : r > h ? r = l[h] : (h = Math.floor(r), f = r - h), f !== void 0 && l[h] !== void 0 ? l[h] + (f ? f * (l[h + 1] - l[h]) : 0) : r;
731
+ }
732
+ function i(r) {
733
+ let l = this.ordinal, h = this.old ? this.old.min : this.min, f = this.old ? this.old.transA : this.transA, m = l.getExtendedPositions();
734
+ if (m?.length) {
735
+ let x = Zt((r - h) * f + this.minPixelPadding), b = Zt(l.getIndexOfPoint(x, m)), w = Zt(b % 1);
736
+ if (b >= 0 && b <= m.length - 1) {
737
+ let v = m[Math.floor(b)], M = m[Math.ceil(b)];
738
+ return m[Math.floor(b)] + w * (M - v);
739
+ }
740
+ }
741
+ return r;
742
+ }
743
+ function s(r, l) {
744
+ let h = a.Additions.findIndexOf(r, l, !0);
745
+ if (r[h] === l) return h;
746
+ let f = (l - r[h]) / (r[h + 1] - r[h]);
747
+ return h + f;
748
+ }
749
+ function o() {
750
+ this.ordinal || (this.ordinal = new a.Additions(this));
751
+ }
752
+ function n() {
753
+ let { eventArgs: r, options: l } = this;
754
+ if (this.isXAxis && $(l.overscroll) && l.overscroll !== 0 && ni(this.max) && ni(this.min) && (this.options.ordinal && !this.ordinal.originalOrdinalRange && this.ordinal.getExtendedPositions(!1), this.max === this.dataMax && (r?.trigger !== "pan" || this.isInternal) && r?.trigger !== "navigator")) {
755
+ let h = this.ordinal.convertOverscroll(l.overscroll);
756
+ this.max += h, !this.isInternal && $(this.userMin) && r?.trigger !== "mousewheel" && (this.min += h);
757
+ }
758
+ }
759
+ function c() {
760
+ this.horiz && !this.isDirty && (this.isDirty = this.isOrdinal && this.chart.navigator && !this.chart.navigator.adaptToUpdatedData);
761
+ }
762
+ function u() {
763
+ this.ordinal && (this.ordinal.beforeSetTickPositions(), this.tickInterval = this.ordinal.postProcessTickInterval(this.tickInterval));
764
+ }
765
+ function g(r) {
766
+ let l = this.xAxis[0], h = l.ordinal.convertOverscroll(l.options.overscroll), f = r.originalEvent.chartX, m = this.options.chart.panning, x = !1;
767
+ if (m && m.type !== "y" && l.options.ordinal && l.series.length && (!r.touches || r.touches.length <= 1)) {
768
+ let b, w, v = this.mouseDownX, M = l.getExtremes(), A = M.dataMin, y = M.dataMax, E = M.min, k = M.max, T = this.hoverPoints, O = l.closestPointRange || l.ordinal?.overscrollPointsRange, S = Math.round((v - f) / (l.translationSlope * (l.ordinal.slope || O))), C = l.ordinal.getExtendedPositions(), I = { ordinal: { positions: C, extendedOrdinalPositions: C } }, G = l.index2val, D = l.val2lin;
769
+ if (E <= A && S < 0 || k + h >= y && S > 0) return;
770
+ I.ordinal.positions ? Math.abs(S) > 1 && (T && T.forEach(function(z) {
771
+ z.setState();
772
+ }), y > (w = I.ordinal.positions)[w.length - 1] && w.push(y), this.setFixedRange(k - E), (b = l.navigatorAxis.toFixedRange(void 0, void 0, G.apply(I, [D.apply(I, [E, !0]) + S]), G.apply(I, [D.apply(I, [k, !0]) + S]))).min >= Math.min(w[0], E) && b.max <= Math.max(w[w.length - 1], k) + h && l.setExtremes(b.min, b.max, !0, !1, { trigger: "pan" }), this.mouseDownX = f, co(this.container, { cursor: "move" })) : x = !0;
773
+ } else x = !0;
774
+ x || m && /y/.test(m.type) ? h && (l.max = l.dataMax + h) : r.preventDefault();
775
+ }
776
+ function p() {
777
+ let r = this.xAxis;
778
+ r?.options.ordinal && (delete r.ordinal.index, delete r.ordinal.originalOrdinalRange);
779
+ }
780
+ function d(r, l) {
781
+ let h, f = this.ordinal, m = f.positions, x = f.slope, b;
782
+ if (!m) return r;
783
+ let w = m.length;
784
+ if (m[0] <= r && m[w - 1] >= r) h = s(m, r);
785
+ else {
786
+ if (b = f.getExtendedPositions?.(), !b?.length) return r;
787
+ let v = b.length;
788
+ x || (x = (b[v - 1] - b[0]) / v);
789
+ let M = s(b, m[0]);
790
+ if (r >= b[0] && r <= b[v - 1]) h = s(b, r) - M;
791
+ else {
792
+ if (!l) return r;
793
+ h = r < b[0] ? -M - (b[0] - r) / x : (r - b[v - 1]) / x + v - M;
794
+ }
795
+ }
796
+ return l ? h : x * (h || 0) + f.offset;
797
+ }
798
+ a.compose = function(r, l, h) {
799
+ let f = r.prototype;
800
+ return f.ordinal2lin || (f.getTimeTicks = t, f.index2val = e, f.lin2val = i, f.val2lin = d, f.ordinal2lin = f.val2lin, ct(r, "afterInit", o), ct(r, "foundExtremes", n), ct(r, "afterSetScale", c), ct(r, "initialAxisTranslation", u), ct(h, "pan", g), ct(h, "touchpan", g), ct(l, "updatedData", p)), r;
801
+ }, a.Additions = class {
802
+ constructor(r) {
803
+ this.index = {}, this.axis = r;
804
+ }
805
+ beforeSetTickPositions() {
806
+ let r = this.axis, l = r.ordinal, h = r.getExtremes(), f = h.min, m = h.max, x = r.brokenAxis?.hasBreaks, b = r.options.ordinal, w, v, M, A, y, E, k, T = [], O = Number.MAX_VALUE, S = !1, C = !1, I = !1;
807
+ if (b || x) {
808
+ let G = 0;
809
+ if (r.series.forEach(function(D, z) {
810
+ let L = D.getColumn("x", !0);
811
+ if (v = [], z > 0 && D.options.id !== "highcharts-navigator-series" && L.length > 1 && (C = G !== L[1] - L[0]), G = L[1] - L[0], D.boosted && (I = D.boosted), D.reserveSpace() && (D.takeOrdinalPosition !== !1 || x) && (w = (T = T.concat(L)).length, T.sort(function(W, X) {
812
+ return W - X;
813
+ }), O = Math.min(O, we(D.closestPointRange, O)), w)) {
814
+ for (z = 0; z < w - 1; ) T[z] !== T[z + 1] && v.push(T[z + 1]), z++;
815
+ v[0] !== T[0] && v.unshift(T[0]), T = v;
816
+ }
817
+ }), r.ordinal.originalOrdinalRange || (r.ordinal.originalOrdinalRange = (T.length - 1) * O), C && I && (T.pop(), T.shift()), (w = T.length) > 2) {
818
+ for (M = T[1] - T[0], k = w - 1; k-- && !S; ) T[k + 1] - T[k] !== M && (S = !0);
819
+ !r.options.keepOrdinalPadding && (T[0] - f > M || m - T[T.length - 1] > M) && (S = !0);
820
+ } else r.options.overscroll && (w === 2 ? O = T[1] - T[0] : w === 1 ? (O = r.ordinal.convertOverscroll(r.options.overscroll), T = [T[0], T[0] + O]) : O = l.overscrollPointsRange);
821
+ S || r.forceOrdinal ? (r.options.overscroll && (l.overscrollPointsRange = O, T = T.concat(l.getOverscrollPositions())), l.positions = T, A = r.ordinal2lin(Math.max(f, T[0]), !0), y = Math.max(r.ordinal2lin(Math.min(m, T[T.length - 1]), !0), 1), l.slope = E = (m - f) / (y - A), l.offset = f - A * E) : (l.overscrollPointsRange = we(r.closestPointRange, l.overscrollPointsRange), l.positions = r.ordinal.slope = l.offset = void 0);
822
+ }
823
+ r.isOrdinal = b && S, l.groupIntervalFactor = null;
824
+ }
825
+ static findIndexOf(r, l, h) {
826
+ let f = 0, m = r.length - 1, x;
827
+ for (; f < m; ) r[x = Math.ceil((f + m) / 2)] <= l ? f = x : m = x - 1;
828
+ return r[f] === l || h ? f : -1;
829
+ }
830
+ getExtendedPositions(r = !0) {
831
+ let l = this, h = l.axis, f = h.constructor.prototype, m = h.chart, x = h.series.reduce((y, E) => {
832
+ let k = E.currentDataGrouping;
833
+ return y + (k ? k.count + k.unitName : "raw");
834
+ }, ""), b = r ? h.ordinal.convertOverscroll(h.options.overscroll) : 0, w = h.getExtremes(), v, M, A = l.index;
835
+ return A || (A = l.index = {}), !A[x] && ((v = { series: [], chart: m, forceOrdinal: !1, getExtremes: function() {
836
+ return { min: w.dataMin, max: w.dataMax + b };
837
+ }, applyGrouping: f.applyGrouping, getGroupPixelWidth: f.getGroupPixelWidth, getTimeTicks: f.getTimeTicks, options: { ordinal: !0 }, ordinal: { getGroupIntervalFactor: this.getGroupIntervalFactor }, ordinal2lin: f.ordinal2lin, getIndexOfPoint: f.getIndexOfPoint, val2lin: f.val2lin }).ordinal.axis = v, h.series.forEach((y) => {
838
+ M = { xAxis: v, chart: m, groupPixelWidth: y.groupPixelWidth, destroyGroupedData: B().noop, getColumn: y.getColumn, applyGrouping: y.applyGrouping, getProcessedData: y.getProcessedData, reserveSpace: y.reserveSpace, visible: y.visible };
839
+ let E = y.getColumn("x").concat(r ? l.getOverscrollPositions() : []);
840
+ M.dataTable = new ai({ columns: { x: E } }), M.options = { ...y.options, dataGrouping: y.currentDataGrouping ? { firstAnchor: y.options.dataGrouping?.firstAnchor, anchor: y.options.dataGrouping?.anchor, lastAnchor: y.options.dataGrouping?.firstAnchor, enabled: !0, forced: !0, approximation: "open", units: [[y.currentDataGrouping.unitName, [y.currentDataGrouping.count]]] } : { enabled: !1 } }, v.series.push(M), y.processData.apply(M);
841
+ }), v.applyGrouping({ hasExtremesChanged: !0 }), M?.closestPointRange !== M?.basePointRange && M.currentDataGrouping && (v.forceOrdinal = !0), h.ordinal.beforeSetTickPositions.apply({ axis: v }), !h.ordinal.originalOrdinalRange && v.ordinal.originalOrdinalRange && (h.ordinal.originalOrdinalRange = v.ordinal.originalOrdinalRange), v.ordinal.positions && (A[x] = v.ordinal.positions)), A[x];
842
+ }
843
+ getGroupIntervalFactor(r, l, h) {
844
+ let f = h.getColumn("x", !0), m = f.length, x = [], b, w, v = this.groupIntervalFactor;
845
+ if (!v) {
846
+ for (w = 0; w < m - 1; w++) x[w] = f[w + 1] - f[w];
847
+ x.sort(function(M, A) {
848
+ return M - A;
849
+ }), b = x[Math.floor(m / 2)], r = Math.max(r, f[0]), l = Math.min(l, f[m - 1]), this.groupIntervalFactor = v = m * b / (l - r);
850
+ }
851
+ return v;
852
+ }
853
+ getIndexOfPoint(r, l) {
854
+ let h = this.axis, f = h.min, m = h.minPixelPadding;
855
+ return s(l, f) + Zt((r - m) / (h.translationSlope * (this.slope || h.closestPointRange || this.overscrollPointsRange)));
856
+ }
857
+ getOverscrollPositions() {
858
+ let r = this.axis, l = this.convertOverscroll(r.options.overscroll), h = this.overscrollPointsRange, f = [], m = r.dataMax;
859
+ if ($(h)) for (; m < r.dataMax + l; ) f.push(m += h);
860
+ return f;
861
+ }
862
+ postProcessTickInterval(r) {
863
+ let l = this.axis, h = this.slope, f = l.closestPointRange;
864
+ return h && f ? l.options.breaks ? f || r : r / (h / f) : r;
865
+ }
866
+ convertOverscroll(r = 0) {
867
+ let l = this, h = l.axis, f = function(m) {
868
+ return we(l.originalOrdinalRange, $(h.dataMax) && $(h.dataMin) ? h.dataMax - h.dataMin : 0) * m;
869
+ };
870
+ if (mo(r)) {
871
+ let m, x = parseInt(r, 10);
872
+ if ($(h.min) && $(h.max) && $(h.dataMin) && $(h.dataMax) && !(m = h.max - h.min == h.dataMax - h.dataMin) && (this.originalOrdinalRange = h.max - h.min), /%$/.test(r)) return f(x / 100);
873
+ if (/px/.test(r)) {
874
+ let b = Math.min(x, 0.9 * h.len) / h.len;
875
+ return f(b / (m ? 1 - b : 1));
876
+ }
877
+ return 0;
878
+ }
879
+ return r;
880
+ }
881
+ };
882
+ })(ne || (ne = {}));
883
+ let Se = ne, Te = { lang: { rangeSelectorZoom: "Zoom", rangeSelectorFrom: "", rangeSelectorTo: "→", rangeSelector: { allText: "All", allTitle: "View all", monthText: "{count}m", monthTitle: "View {count} {#eq count 1}month{else}months{/eq}", yearText: "{count}y", yearTitle: "View {count} {#eq count 1}year{else}years{/eq}", ytdText: "YTD", ytdTitle: "View year to date" } }, rangeSelector: { allButtonsEnabled: !1, buttons: [{ type: "month", count: 1 }, { type: "month", count: 3 }, { type: "month", count: 6 }, { type: "ytd" }, { type: "year", count: 1 }, { type: "all" }], buttonSpacing: 5, dropdown: "responsive", enabled: void 0, verticalAlign: "top", buttonTheme: { width: 28, height: 18, padding: 2, zIndex: 7 }, floating: !1, x: 0, y: 0, height: void 0, inputBoxBorderColor: "none", inputBoxHeight: 17, inputBoxWidth: void 0, inputDateFormat: "%[ebY]", inputDateParser: void 0, inputEditDateFormat: "%Y-%m-%d", inputEnabled: !0, inputPosition: { align: "right", x: 0, y: 0 }, inputSpacing: 5, selected: void 0, buttonPosition: { align: "left", x: 0, y: 0 }, inputStyle: { color: "#334eff", cursor: "pointer", fontSize: "0.8em" }, labelStyle: { color: "#666666", fontSize: "0.8em" } } }, { defaultOptions: li } = B(), { composed: xo } = B(), { addEvent: gt, defined: bo, extend: hi, isNumber: At, merge: vo, pick: di, pushUnique: yo } = B(), Ee = [];
884
+ function Mo() {
885
+ let a, t, e = this.range, i = e.type, s = this.max, o = this.chart.time, n = function(u, g) {
886
+ let p = o.toParts(u), d = p.slice();
887
+ i === "year" ? d[0] += g : d[1] += g;
888
+ let r = o.makeTime.apply(o, d), l = o.toParts(r);
889
+ return i === "month" && p[1] === l[1] && Math.abs(g) === 1 && (d[0] = p[0], d[1] = p[1], d[2] = 0), (r = o.makeTime.apply(o, d)) - u;
890
+ };
891
+ At(e) ? (a = s - e, t = e) : e && (a = s + n(s, -(e.count || 1)), this.chart && this.chart.setFixedRange(s - a));
892
+ let c = di(this.dataMin, Number.MIN_VALUE);
893
+ return At(a) || (a = c), a <= c && (a = c, t === void 0 && (t = n(a, e.count)), this.newMax = Math.min(a + t, di(this.dataMax, Number.MAX_VALUE))), At(s) ? !At(e) && e && e._offsetMin && (a += e._offsetMin) : a = void 0, a;
894
+ }
895
+ function Ao() {
896
+ this.rangeSelector?.redrawElements();
897
+ }
898
+ function ko() {
899
+ this.options.rangeSelector && this.options.rangeSelector.enabled && (this.rangeSelector = new ie(this));
900
+ }
901
+ function wo() {
902
+ let a = this.rangeSelector;
903
+ if (a) {
904
+ At(a.deferredYTDClick) && (a.clickButton(a.deferredYTDClick), delete a.deferredYTDClick);
905
+ let t = a.options.verticalAlign;
906
+ a.options.floating || (t === "bottom" ? this.extraBottomMargin = !0 : t !== "top" || (this.extraTopMargin = !0));
907
+ }
908
+ }
909
+ function pi() {
910
+ let a, t = this.rangeSelector;
911
+ if (!t) return;
912
+ let e = this.xAxis[0].getExtremes(), i = this.legend, s = t && t.options.verticalAlign;
913
+ At(e.min) && t.render(e.min, e.max), i.display && s === "top" && s === i.options.verticalAlign && (a = vo(this.spacingBox), i.options.layout === "vertical" ? a.y = this.plotTop : a.y += t.getHeight(), i.group.placed = !1, i.align(a));
914
+ }
915
+ function So() {
916
+ for (let a = 0, t = Ee.length; a < t; ++a) {
917
+ let e = Ee[a];
918
+ if (e[0] === this) {
919
+ e[1].forEach((i) => i()), Ee.splice(a, 1);
920
+ return;
921
+ }
922
+ }
923
+ }
924
+ function To() {
925
+ let a = this.rangeSelector;
926
+ if (a?.options?.enabled) {
927
+ let t = a.getHeight(), e = a.options.verticalAlign;
928
+ a.options.floating || (e === "bottom" ? this.marginBottom += t : e === "middle" || (this.plotTop += t));
929
+ }
930
+ }
931
+ function Eo(a) {
932
+ let t = a.options.rangeSelector, e = this.extraBottomMargin, i = this.extraTopMargin, s = this.rangeSelector;
933
+ if (t && t.enabled && !bo(s) && this.options.rangeSelector && (this.options.rangeSelector.enabled = !0, this.rangeSelector = s = new ie(this)), this.extraBottomMargin = !1, this.extraTopMargin = !1, s) {
934
+ let o = t && t.verticalAlign || s.options && s.options.verticalAlign;
935
+ s.options.floating || (o === "bottom" ? this.extraBottomMargin = !0 : o === "middle" || (this.extraTopMargin = !0)), (this.extraBottomMargin !== e || this.extraTopMargin !== i) && (this.isDirtyBox = !0);
936
+ }
937
+ }
938
+ let Oo = { compose: function(a, t, e) {
939
+ if (ie = e, yo(xo, "RangeSelector")) {
940
+ let i = t.prototype;
941
+ a.prototype.minFromRange = Mo, gt(t, "afterGetContainer", ko), gt(t, "beforeRender", wo), gt(t, "destroy", So), gt(t, "getMargins", To), gt(t, "redraw", pi), gt(t, "update", Eo), gt(t, "beforeRedraw", Ao), i.callbacks.push(pi), hi(li, { rangeSelector: Te.rangeSelector }), hi(li.lang, Te.lang);
942
+ }
943
+ } };
944
+ var Bo = R(28), ui = R.n(Bo), Co = R(984), Oe = R.n(Co);
945
+ let { defaultOptions: Be } = B(), { format: ci } = Oe(), { addEvent: J, createElement: Wt, css: it, defined: st, destroyObjectProperties: Do, diffObjects: Po, discardElement: Ro, extend: gi, fireEvent: kt, isNumber: F, isString: Ce, merge: nt, objectEach: Go, pick: Q, splat: Io } = B();
946
+ function fi(a) {
947
+ let t = (s) => RegExp(`%[[a-zA-Z]*${s}`).test(a);
948
+ if (Ce(a) ? a.indexOf("%L") !== -1 : a.fractionalSecondDigits) return "text";
949
+ let e = Ce(a) ? ["a", "A", "d", "e", "w", "b", "B", "m", "o", "y", "Y"].some(t) : a.dateStyle || a.day || a.month || a.year, i = Ce(a) ? ["H", "k", "I", "l", "M", "S"].some(t) : a.timeStyle || a.hour || a.minute || a.second;
950
+ return e && i ? "datetime-local" : e ? "date" : i ? "time" : "text";
951
+ }
952
+ class Xt {
953
+ static compose(t, e) {
954
+ Oo.compose(t, e, Xt);
955
+ }
956
+ constructor(t) {
957
+ this.isDirty = !1, this.buttonOptions = [], this.initialButtonGroupWidth = 0, this.maxButtonWidth = () => {
958
+ let e = 0;
959
+ return this.buttons.forEach((i) => {
960
+ let s = i.getBBox();
961
+ s.width > e && (e = s.width);
962
+ }), e;
963
+ }, this.init(t);
964
+ }
965
+ clickButton(t, e) {
966
+ let i = this.chart, s = this.buttonOptions[t], o = i.xAxis[0], n = i.scroller && i.scroller.getUnionExtremes() || o || {}, c = s.type, u = s.dataGrouping, g = n.dataMin, p = n.dataMax, d, r = F(o?.max) ? Math.round(Math.min(o.max, p ?? o.max)) : void 0, l, h = s._range, f, m, x, b = !0;
967
+ if (g !== null && p !== null) {
968
+ if (this.setSelected(t), u && (this.forcedDataGrouping = !0, ue().prototype.setDataGrouping.call(o || { chart: this.chart }, u, !1), this.frozenStates = s.preserveDataGrouping), c === "month" || c === "year") o ? (m = { range: s, max: r, chart: i, dataMin: g, dataMax: p }, d = o.minFromRange.call(m), F(m.newMax) && (r = m.newMax), b = !1) : h = s;
969
+ else if (h) F(r) && (r = Math.min((d = Math.max(r - h, g)) + h, p), b = !1);
970
+ else if (c === "ytd")
971
+ if (o) !o.hasData() || F(p) && F(g) || (g = Number.MAX_VALUE, p = -Number.MAX_VALUE, i.series.forEach((w) => {
972
+ let v = w.getColumn("x");
973
+ v.length && (g = Math.min(v[0], g), p = Math.max(v[v.length - 1], p));
974
+ }), e = !1), F(p) && F(g) && (d = f = (x = this.getYTDExtremes(p, g)).min, r = x.max);
975
+ else {
976
+ this.deferredYTDClick = t;
977
+ return;
978
+ }
979
+ else c === "all" && o && (i.navigator && i.navigator.baseSeries[0] && (i.navigator.baseSeries[0].xAxis.options.range = void 0), d = g, r = p);
980
+ if (b && s._offsetMin && st(d) && (d += s._offsetMin), s._offsetMax && st(r) && (r += s._offsetMax), this.dropdown && (this.dropdown.selectedIndex = t + 1), o) F(d) && F(r) && (o.setExtremes(d, r, Q(e, !0), void 0, { trigger: "rangeSelectorButton", rangeSelectorButton: s }), i.setFixedRange(s._range));
981
+ else {
982
+ l = Io(i.options.xAxis || {})[0];
983
+ let w = J(i, "afterCreateAxes", function() {
984
+ let v = i.xAxis[0];
985
+ v.range = v.options.range = h, v.min = v.options.min = f;
986
+ });
987
+ J(i, "load", function() {
988
+ let v = i.xAxis[0];
989
+ i.setFixedRange(s._range), v.options.range = l.range, v.options.min = l.min, w();
990
+ });
991
+ }
992
+ kt(this, "afterBtnClick");
993
+ }
994
+ }
995
+ setSelected(t) {
996
+ this.selected = this.options.selected = t;
997
+ }
998
+ init(t) {
999
+ let e = this, i = t.options.rangeSelector, s = t.options.lang, o = i.buttons, n = i.selected, c = function() {
1000
+ let u = e.minInput, g = e.maxInput;
1001
+ u && u.blur && kt(u, "blur"), g && g.blur && kt(g, "blur");
1002
+ };
1003
+ e.chart = t, e.options = i, e.buttons = [], e.buttonOptions = o.map((u) => (u.type && s.rangeSelector && (u.text ?? (u.text = s.rangeSelector[`${u.type}Text`]), u.title ?? (u.title = s.rangeSelector[`${u.type}Title`])), u.text = ci(u.text, { count: u.count || 1 }), u.title = ci(u.title, { count: u.count || 1 }), u)), this.eventsToUnbind = [], this.eventsToUnbind.push(J(t.container, "mousedown", c)), this.eventsToUnbind.push(J(t, "resize", c)), o.forEach(e.computeButtonRange), n !== void 0 && o[n] && this.clickButton(n, !1), this.eventsToUnbind.push(J(t, "load", function() {
1004
+ t.xAxis && t.xAxis[0] && J(t.xAxis[0], "setExtremes", function(u) {
1005
+ F(this.max) && F(this.min) && this.max - this.min !== t.fixedRange && u.trigger !== "rangeSelectorButton" && u.trigger !== "updatedData" && e.forcedDataGrouping && !e.frozenStates && this.setDataGrouping(!1, !1);
1006
+ });
1007
+ })), this.createElements();
1008
+ }
1009
+ updateButtonStates() {
1010
+ let t = this, e = this.chart, i = this.dropdown, s = this.dropdownLabel, o = e.xAxis[0], n = Math.round(o.max - o.min), c = !o.hasVisibleSeries, u = 24 * 36e5, g = e.scroller && e.scroller.getUnionExtremes() || o, p = g.dataMin, d = g.dataMax, r = t.getYTDExtremes(d, p), l = r.min, h = r.max, f = t.selected, m = t.options.allButtonsEnabled, x = Array(t.buttonOptions.length).fill(0), b = F(f), w = t.buttons, v = !1, M = null;
1011
+ t.buttonOptions.forEach((A, y) => {
1012
+ let E = A._range, k = A.type, T = A.count || 1, O = A._offsetMax - A._offsetMin, S = y === f, C = E > d - p, I = E < o.minRange, G = !1, D = E === n;
1013
+ if (S && C && (v = !0), o.isOrdinal && o.ordinal?.positions && E && n < E) {
1014
+ let W = o.ordinal.positions, X = Se.Additions.findIndexOf(W, o.min, !0), N = Math.min(Se.Additions.findIndexOf(W, o.max, !0) + 1, W.length - 1);
1015
+ W[N] - W[X] > E && (D = !0);
1016
+ } else (k === "month" || k === "year") && n + 36e5 >= { month: 28, year: 365 }[k] * u * T - O && n - 36e5 <= { month: 31, year: 366 }[k] * u * T + O ? D = !0 : k === "ytd" ? (D = h - l + O === n, G = !S) : k === "all" && (D = o.max - o.min >= d - p);
1017
+ let z = !m && !(v && k === "all") && (C || I || c), L = v && k === "all" || !G && D || S && t.frozenStates;
1018
+ z ? x[y] = 3 : L && (!b || y === f) && (M = y);
1019
+ }), M !== null ? (x[M] = 2, t.setSelected(M), this.dropdown && (this.dropdown.selectedIndex = M + 1)) : (t.setSelected(), this.dropdown && (this.dropdown.selectedIndex = -1), s && (s.setState(0), s.attr({ text: (Be.lang.rangeSelectorZoom || "") + " ▾" })));
1020
+ for (let A = 0; A < x.length; A++) {
1021
+ let y = x[A], E = w[A];
1022
+ if (E.state !== y && (E.setState(y), i)) {
1023
+ i.options[A + 1].disabled = y === 3, y === 2 && (s && (s.setState(2), s.attr({ text: t.buttonOptions[A].text + " ▾" })), i.selectedIndex = A + 1);
1024
+ let k = s.getBBox();
1025
+ it(i, { width: `${k.width}px`, height: `${k.height}px` });
1026
+ }
1027
+ }
1028
+ }
1029
+ computeButtonRange(t) {
1030
+ let e = t.type, i = t.count || 1, s = { millisecond: 1, second: 1e3, minute: 6e4, hour: 36e5, day: 864e5, week: 6048e5 };
1031
+ s[e] ? t._range = s[e] * i : (e === "month" || e === "year") && (t._range = 24 * { month: 30, year: 365 }[e] * 36e5 * i), t._offsetMin = Q(t.offsetMin, 0), t._offsetMax = Q(t.offsetMax, 0), t._range += t._offsetMax - t._offsetMin;
1032
+ }
1033
+ getInputValue(t) {
1034
+ let e = t === "min" ? this.minInput : this.maxInput, i = this.chart.options.rangeSelector, s = this.chart.time;
1035
+ return e ? (e.type === "text" && i.inputDateParser || this.defaultInputDateParser)(e.value, s.timezone === "UTC", s) : 0;
1036
+ }
1037
+ setInputValue(t, e) {
1038
+ let i = this.options, s = this.chart.time, o = t === "min" ? this.minInput : this.maxInput, n = t === "min" ? this.minDateBox : this.maxDateBox;
1039
+ if (o) {
1040
+ o.setAttribute("type", fi(i.inputDateFormat || "%e %b %Y"));
1041
+ let c = o.getAttribute("data-hc-time"), u = st(c) ? Number(c) : void 0;
1042
+ if (st(e)) {
1043
+ let g = u;
1044
+ st(g) && o.setAttribute("data-hc-time-previous", g), o.setAttribute("data-hc-time", e), u = e;
1045
+ }
1046
+ o.value = s.dateFormat(this.inputTypeFormats[o.type] || i.inputEditDateFormat, u), n && n.attr({ text: s.dateFormat(i.inputDateFormat, u) });
1047
+ }
1048
+ }
1049
+ setInputExtremes(t, e, i) {
1050
+ let s = t === "min" ? this.minInput : this.maxInput;
1051
+ if (s) {
1052
+ let o = this.inputTypeFormats[s.type], n = this.chart.time;
1053
+ if (o) {
1054
+ let c = n.dateFormat(o, e);
1055
+ s.min !== c && (s.min = c);
1056
+ let u = n.dateFormat(o, i);
1057
+ s.max !== u && (s.max = u);
1058
+ }
1059
+ }
1060
+ }
1061
+ showInput(t) {
1062
+ let e = t === "min" ? this.minDateBox : this.maxDateBox, i = t === "min" ? this.minInput : this.maxInput;
1063
+ if (i && e && this.inputGroup) {
1064
+ let s = i.type === "text", { translateX: o = 0, translateY: n = 0 } = this.inputGroup, { x: c = 0, width: u = 0, height: g = 0 } = e, { inputBoxWidth: p } = this.options;
1065
+ it(i, { width: s ? u + (p ? -2 : 20) + "px" : "auto", height: g - 2 + "px", border: "2px solid silver" }), s && p ? it(i, { left: o + c + "px", top: n + "px" }) : it(i, { left: Math.min(Math.round(c + o - (i.offsetWidth - u) / 2), this.chart.chartWidth - i.offsetWidth) + "px", top: n - (i.offsetHeight - g) / 2 + "px" });
1066
+ }
1067
+ }
1068
+ hideInput(t) {
1069
+ let e = t === "min" ? this.minInput : this.maxInput;
1070
+ e && it(e, { top: "-9999em", border: 0, width: "1px", height: "1px" });
1071
+ }
1072
+ defaultInputDateParser(t, e, i) {
1073
+ return i?.parse(t) || 0;
1074
+ }
1075
+ drawInput(t) {
1076
+ let { chart: e, div: i, inputGroup: s } = this, o = this, n = e.renderer.style || {}, c = e.renderer, u = e.options.rangeSelector, g = Be.lang, p = t === "min";
1077
+ function d(x) {
1078
+ let { maxInput: b, minInput: w } = o, v = e.xAxis[0], M = e.scroller?.getUnionExtremes() || v, A = M.dataMin, y = M.dataMax, E = e.xAxis[0].getExtremes()[x], k = o.getInputValue(x);
1079
+ F(k) && k !== E && (p && b && F(A) ? k > Number(b.getAttribute("data-hc-time")) ? k = void 0 : k < A && (k = A) : w && F(y) && (k < Number(w.getAttribute("data-hc-time")) ? k = void 0 : k > y && (k = y)), k !== void 0 && v.setExtremes(p ? k : v.min, p ? v.max : k, void 0, void 0, { trigger: "rangeSelectorInput" }));
1080
+ }
1081
+ let r = g[p ? "rangeSelectorFrom" : "rangeSelectorTo"] || "", l = c.label(r, 0).addClass("highcharts-range-label").attr({ padding: 2 * !!r, height: r ? u.inputBoxHeight : 0 }).add(s), h = c.label("", 0).addClass("highcharts-range-input").attr({ padding: 2, width: u.inputBoxWidth, height: u.inputBoxHeight, "text-align": "center" }).on("click", function() {
1082
+ o.showInput(t), o[t + "Input"].focus();
1083
+ });
1084
+ e.styledMode || h.attr({ stroke: u.inputBoxBorderColor, "stroke-width": 1 }), h.add(s);
1085
+ let f = Wt("input", { name: t, className: "highcharts-range-selector" }, void 0, i);
1086
+ f.setAttribute("type", fi(u.inputDateFormat || "%e %b %Y")), e.styledMode || (l.css(nt(n, u.labelStyle)), h.css(nt({ color: "#333333" }, n, u.inputStyle)), it(f, gi({ position: "absolute", border: 0, boxShadow: "0 0 15px rgba(0,0,0,0.3)", width: "1px", height: "1px", padding: 0, textAlign: "center", fontSize: n.fontSize, fontFamily: n.fontFamily, top: "-9999em" }, u.inputStyle))), f.onfocus = () => {
1087
+ o.showInput(t);
1088
+ }, f.onblur = () => {
1089
+ f === B().doc.activeElement && d(t), o.hideInput(t), o.setInputValue(t), f.blur();
1090
+ };
1091
+ let m = !1;
1092
+ return f.onchange = () => {
1093
+ m || (d(t), o.hideInput(t), f.blur());
1094
+ }, f.onkeypress = (x) => {
1095
+ x.keyCode === 13 && d(t);
1096
+ }, f.onkeydown = (x) => {
1097
+ m = !0, (x.key === "ArrowUp" || x.key === "ArrowDown" || x.key === "Tab") && d(t);
1098
+ }, f.onkeyup = () => {
1099
+ m = !1;
1100
+ }, { dateBox: h, input: f, label: l };
1101
+ }
1102
+ getPosition() {
1103
+ let t = this.chart, e = t.options.rangeSelector, i = e.verticalAlign === "top" ? t.plotTop - t.axisOffset[0] : 0;
1104
+ return { buttonTop: i + e.buttonPosition.y, inputTop: i + e.inputPosition.y - 10 };
1105
+ }
1106
+ getYTDExtremes(t, e) {
1107
+ let i = this.chart.time, s = i.toParts(t)[0];
1108
+ return { max: t, min: Math.max(e, i.makeTime(s, 0)) };
1109
+ }
1110
+ createElements() {
1111
+ let t = this.chart, e = t.renderer, i = t.container, s = t.options, o = s.rangeSelector, n = o.inputEnabled, c = Q(s.chart.style?.zIndex, 0) + 1;
1112
+ o.enabled !== !1 && (this.group = e.g("range-selector-group").attr({ zIndex: 7 }).add(), this.div = Wt("div", void 0, { position: "relative", height: 0, zIndex: c }), this.buttonOptions.length && this.renderButtons(), i.parentNode && i.parentNode.insertBefore(this.div, i), n && this.createInputs());
1113
+ }
1114
+ createInputs() {
1115
+ this.inputGroup = this.chart.renderer.g("input-group").add(this.group);
1116
+ let t = this.drawInput("min");
1117
+ this.minDateBox = t.dateBox, this.minLabel = t.label, this.minInput = t.input;
1118
+ let e = this.drawInput("max");
1119
+ this.maxDateBox = e.dateBox, this.maxLabel = e.label, this.maxInput = e.input;
1120
+ }
1121
+ render(t, e) {
1122
+ if (this.options.enabled === !1) return;
1123
+ let i = this.chart, s = i.options.rangeSelector;
1124
+ if (s.inputEnabled) {
1125
+ this.inputGroup || this.createInputs(), this.setInputValue("min", t), this.setInputValue("max", e), this.chart.styledMode || (this.maxLabel?.css(s.labelStyle), this.minLabel?.css(s.labelStyle));
1126
+ let o = i.scroller && i.scroller.getUnionExtremes() || i.xAxis[0] || {};
1127
+ if (st(o.dataMin) && st(o.dataMax)) {
1128
+ let n = i.xAxis[0].minRange || 0;
1129
+ this.setInputExtremes("min", o.dataMin, Math.min(o.dataMax, this.getInputValue("max")) - n), this.setInputExtremes("max", Math.max(o.dataMin, this.getInputValue("min")) + n, o.dataMax);
1130
+ }
1131
+ if (this.inputGroup) {
1132
+ let n = 0;
1133
+ [this.minLabel, this.minDateBox, this.maxLabel, this.maxDateBox].forEach((c) => {
1134
+ if (c) {
1135
+ let { width: u } = c.getBBox();
1136
+ u && (c.attr({ x: n }), n += u + s.inputSpacing);
1137
+ }
1138
+ });
1139
+ }
1140
+ } else this.inputGroup && (this.inputGroup.destroy(), delete this.inputGroup);
1141
+ !this.chart.styledMode && this.zoomText && this.zoomText.css(s.labelStyle), this.alignElements(), this.updateButtonStates();
1142
+ }
1143
+ renderButtons() {
1144
+ var t;
1145
+ let { chart: e, options: i } = this, s = Be.lang, o = e.renderer, n = nt(i.buttonTheme), c = n && n.states;
1146
+ delete n.width, delete n.states, this.buttonGroup = o.g("range-selector-buttons").add(this.group);
1147
+ let u = this.dropdown = Wt("select", void 0, { position: "absolute", padding: 0, border: 0, cursor: "pointer", opacity: 1e-4 }, this.div), g = e.userOptions.rangeSelector?.buttonTheme;
1148
+ this.dropdownLabel = o.button("", 0, 0, () => {
1149
+ }, nt(n, { "stroke-width": Q(n["stroke-width"], 0), width: "auto", paddingLeft: Q(i.buttonTheme.paddingLeft, g?.padding, 8), paddingRight: Q(i.buttonTheme.paddingRight, g?.padding, 8) }), c && c.hover, c && c.select, c && c.disabled).hide().add(this.group), J(u, "touchstart", () => {
1150
+ u.style.fontSize = "16px";
1151
+ });
1152
+ let p = B().isMS ? "mouseover" : "mouseenter", d = B().isMS ? "mouseout" : "mouseleave";
1153
+ J(u, p, () => {
1154
+ kt(this.dropdownLabel.element, p);
1155
+ }), J(u, d, () => {
1156
+ kt(this.dropdownLabel.element, d);
1157
+ }), J(u, "change", () => {
1158
+ kt(this.buttons[u.selectedIndex - 1].element, "click");
1159
+ }), this.zoomText = o.label(s.rangeSelectorZoom || "", 0).attr({ padding: i.buttonTheme.padding, height: i.buttonTheme.height, paddingLeft: 0, paddingRight: 0 }).add(this.buttonGroup), this.chart.styledMode || (this.zoomText.css(i.labelStyle), (t = i.buttonTheme)["stroke-width"] ?? (t["stroke-width"] = 0)), Wt("option", { textContent: this.zoomText.textStr, disabled: !0 }, void 0, u), this.createButtons();
1160
+ }
1161
+ createButtons() {
1162
+ let { options: t } = this, e = nt(t.buttonTheme), i = e && e.states, s = e.width || 28;
1163
+ delete e.width, delete e.states, this.buttonOptions.forEach((o, n) => {
1164
+ this.createButton(o, n, s, i);
1165
+ });
1166
+ }
1167
+ createButton(t, e, i, s) {
1168
+ let { dropdown: o, buttons: n, chart: c, options: u } = this, g = c.renderer, p = nt(u.buttonTheme);
1169
+ o?.add(Wt("option", { textContent: t.title || t.text }), e + 2), n[e] = g.button(t.text ?? "", 0, 0, (d) => {
1170
+ let r, l = t.events && t.events.click;
1171
+ l && (r = l.call(t, d)), r !== !1 && this.clickButton(e), this.isActive = !0;
1172
+ }, p, s && s.hover, s && s.select, s && s.disabled).attr({ "text-align": "center", width: i }).add(this.buttonGroup), t.title && n[e].attr("title", t.title);
1173
+ }
1174
+ alignElements() {
1175
+ let { buttonGroup: t, buttons: e, chart: i, group: s, inputGroup: o, options: n, zoomText: c } = this, u = i.options, g = u.exporting && u.exporting.enabled !== !1 && u.navigation && u.navigation.buttonOptions, { buttonPosition: p, inputPosition: d, verticalAlign: r } = n, l = (f, m, x) => g && this.titleCollision(i) && r === "top" && x && m.y - f.getBBox().height - 12 < (g.y || 0) + (g.height || 0) + i.spacing[0] ? -40 : 0, h = i.plotLeft;
1176
+ if (s && p && d) {
1177
+ let f = p.x - i.spacing[3];
1178
+ if (t) {
1179
+ if (this.positionButtons(), !this.initialButtonGroupWidth) {
1180
+ let E = 0;
1181
+ c && (E += c.getBBox().width + 5), e.forEach((k, T) => {
1182
+ E += k.width || 0, T !== e.length - 1 && (E += n.buttonSpacing);
1183
+ }), this.initialButtonGroupWidth = E;
1184
+ }
1185
+ h -= i.spacing[3];
1186
+ let y = l(t, p, p.align === "right" || d.align === "right");
1187
+ this.alignButtonGroup(y), this.buttonGroup?.translateY && this.dropdownLabel.attr({ y: this.buttonGroup.translateY }), s.placed = t.placed = i.hasLoaded;
1188
+ }
1189
+ let m = 0;
1190
+ n.inputEnabled && o && (m = l(o, d, p.align === "right" || d.align === "right"), d.align === "left" ? f = h : d.align === "right" && (f = -Math.max(i.axisOffset[1], -m)), o.align({ y: d.y, width: o.getBBox().width, align: d.align, x: d.x + f - 2 }, !0, i.spacingBox), o.placed = i.hasLoaded), this.handleCollision(m), s.align({ verticalAlign: r }, !0, i.spacingBox);
1191
+ let x = s.alignAttr.translateY, b = s.getBBox().height + 20, w = 0;
1192
+ if (r === "bottom") {
1193
+ let y = i.legend && i.legend.options;
1194
+ w = x - (b = b + (y && y.verticalAlign === "bottom" && y.enabled && !y.floating ? i.legend.legendHeight + Q(y.margin, 10) : 0) - 20) - (n.floating ? 0 : n.y) - (i.titleOffset ? i.titleOffset[2] : 0) - 10;
1195
+ }
1196
+ r === "top" ? (n.floating && (w = 0), i.titleOffset && i.titleOffset[0] && (w = i.titleOffset[0]), w += i.margin[0] - i.spacing[0] || 0) : r === "middle" && (d.y === p.y ? w = x : (d.y || p.y) && (d.y < 0 || p.y < 0 ? w -= Math.min(d.y, p.y) : w = x - b)), s.translate(n.x, n.y + Math.floor(w));
1197
+ let { minInput: v, maxInput: M, dropdown: A } = this;
1198
+ n.inputEnabled && v && M && (v.style.marginTop = s.translateY + "px", M.style.marginTop = s.translateY + "px"), A && (A.style.marginTop = s.translateY + "px");
1199
+ }
1200
+ }
1201
+ redrawElements() {
1202
+ let t = this.chart, { inputBoxHeight: e, inputBoxBorderColor: i } = this.options;
1203
+ if (this.maxDateBox?.attr({ height: e }), this.minDateBox?.attr({ height: e }), t.styledMode || (this.maxDateBox?.attr({ stroke: i }), this.minDateBox?.attr({ stroke: i })), this.isDirty) {
1204
+ this.isDirty = !1, this.isCollapsed = void 0;
1205
+ let s = this.options.buttons ?? [], o = Math.min(s.length, this.buttonOptions.length), { dropdown: n, options: c } = this, u = nt(c.buttonTheme), g = u && u.states, p = u.width || 28;
1206
+ if (s.length < this.buttonOptions.length) for (let d = this.buttonOptions.length - 1; d >= s.length; d--)
1207
+ this.buttons.pop()?.destroy(), this.dropdown?.options.remove(d + 1);
1208
+ for (let d = o - 1; d >= 0; d--) if (Object.keys(Po(s[d], this.buttonOptions[d])).length !== 0) {
1209
+ let r = s[d];
1210
+ this.buttons[d].destroy(), n?.options.remove(d + 1), this.createButton(r, d, p, g), this.computeButtonRange(r);
1211
+ }
1212
+ if (s.length > this.buttonOptions.length) for (let d = this.buttonOptions.length; d < s.length; d++) this.createButton(s[d], d, p, g), this.computeButtonRange(s[d]);
1213
+ this.buttonOptions = this.options.buttons ?? [], st(this.options.selected) && this.buttons.length && this.clickButton(this.options.selected, !1);
1214
+ }
1215
+ }
1216
+ alignButtonGroup(t, e) {
1217
+ let { chart: i, options: s, buttonGroup: o, dropdown: n, dropdownLabel: c } = this, { buttonPosition: u } = s, g = i.plotLeft - i.spacing[3], p = u.x - i.spacing[3], d = i.plotLeft;
1218
+ u.align === "right" ? (p += t - g, this.hasVisibleDropdown && (d = i.chartWidth + t - this.maxButtonWidth() - 20)) : u.align === "center" && (p -= g / 2, this.hasVisibleDropdown && (d = i.chartWidth / 2 - this.maxButtonWidth())), n && it(n, { left: d + "px", top: o?.translateY + "px" }), c?.attr({ x: d }), o && o.align({ y: u.y, width: Q(e, this.initialButtonGroupWidth), align: u.align, x: p }, !0, i.spacingBox);
1219
+ }
1220
+ positionButtons() {
1221
+ let { buttons: t, chart: e, options: i, zoomText: s } = this, o = e.hasLoaded ? "animate" : "attr", { buttonPosition: n } = i, c = e.plotLeft, u = c;
1222
+ s && s.visibility !== "hidden" && (s[o]({ x: Q(c + n.x, c) }), u += n.x + s.getBBox().width + 5);
1223
+ for (let g = 0, p = this.buttonOptions.length; g < p; ++g) t[g].visibility !== "hidden" ? (t[g][o]({ x: u }), u += (t[g].width || 0) + i.buttonSpacing) : t[g][o]({ x: c });
1224
+ }
1225
+ handleCollision(t) {
1226
+ let { chart: e, buttonGroup: i, inputGroup: s, initialButtonGroupWidth: o } = this, { buttonPosition: n, dropdown: c, inputPosition: u } = this.options, g = () => {
1227
+ s && i && s.attr({ translateX: s.alignAttr.translateX + (e.axisOffset[1] >= -t ? 0 : -t), translateY: s.alignAttr.translateY + i.getBBox().height + 10 });
1228
+ };
1229
+ s && i ? u.align === n.align ? (g(), o > e.plotWidth + t - 20 ? this.collapseButtons() : this.expandButtons()) : o - t + s.getBBox().width > e.plotWidth ? c === "responsive" ? this.collapseButtons() : g() : this.expandButtons() : i && c === "responsive" && (o > e.plotWidth ? this.collapseButtons() : this.expandButtons()), i && (c === "always" && this.collapseButtons(), c === "never" && this.expandButtons()), this.alignButtonGroup(t);
1230
+ }
1231
+ collapseButtons() {
1232
+ let { buttons: t, zoomText: e } = this;
1233
+ this.isCollapsed !== !0 && (this.isCollapsed = !0, e.hide(), t.forEach((i) => void i.hide()), this.showDropdown());
1234
+ }
1235
+ expandButtons() {
1236
+ let { buttons: t, zoomText: e } = this;
1237
+ this.isCollapsed !== !1 && (this.isCollapsed = !1, this.hideDropdown(), e.show(), t.forEach((i) => void i.show()), this.positionButtons());
1238
+ }
1239
+ showDropdown() {
1240
+ let { buttonGroup: t, dropdownLabel: e, dropdown: i } = this;
1241
+ t && i && (e.show(), it(i, { visibility: "inherit" }), this.hasVisibleDropdown = !0);
1242
+ }
1243
+ hideDropdown() {
1244
+ let { dropdown: t } = this;
1245
+ t && (this.dropdownLabel.hide(), it(t, { visibility: "hidden", width: "1px", height: "1px" }), this.hasVisibleDropdown = !1);
1246
+ }
1247
+ getHeight() {
1248
+ let t = this.options, e = this.group, i = t.inputPosition, s = t.buttonPosition, o = t.y, n = s.y, c = i.y, u = 0;
1249
+ if (t.height) return t.height;
1250
+ this.alignElements(), u = e ? e.getBBox(!0).height + 13 + o : 0;
1251
+ let g = Math.min(c, n);
1252
+ return (c < 0 && n < 0 || c > 0 && n > 0) && (u += Math.abs(g)), u;
1253
+ }
1254
+ titleCollision(t) {
1255
+ return !(t.options.title.text || t.options.subtitle.text);
1256
+ }
1257
+ update(t, e = !0) {
1258
+ let i = this.chart;
1259
+ if (nt(!0, this.options, t), this.options.selected && this.options.selected >= this.options.buttons.length && (this.options.selected = void 0, i.options.rangeSelector.selected = void 0), st(t.enabled)) return this.destroy(), this.init(i);
1260
+ this.isDirty = !!t.buttons, e && this.render();
1261
+ }
1262
+ destroy() {
1263
+ let t = this, e = t.minInput, i = t.maxInput;
1264
+ t.eventsToUnbind && (t.eventsToUnbind.forEach((s) => s()), t.eventsToUnbind = void 0), Do(t.buttons), e && (e.onfocus = e.onblur = e.onchange = null), i && (i.onfocus = i.onblur = i.onchange = null), Go(t, function(s, o) {
1265
+ s && o !== "chart" && (s instanceof ui() ? s.destroy() : s instanceof window.HTMLElement && Ro(s), delete t[o]), s !== Xt.prototype[o] && (t[o] = null);
1266
+ }, this), this.buttons = [];
1267
+ }
1268
+ }
1269
+ gi(Xt.prototype, { inputTypeFormats: { "datetime-local": "%Y-%m-%dT%H:%M:%S", date: "%Y-%m-%d", time: "%H:%M:%S" } });
1270
+ var zo = R(960), mi = R.n(zo);
1271
+ let { format: Lo } = Oe(), { getOptions: xi } = B(), { setFixedRange: Wo } = Qe, { addEvent: ft, clamp: bi, crisp: vi, defined: De, extend: Xo, find: Ho, isNumber: lt, isString: Yo, merge: wt, pick: ot, splat: yi } = B();
1272
+ function Pe(a, t, e) {
1273
+ return a === "xAxis" ? { minPadding: 0, maxPadding: 0, overscroll: 0, ordinal: !0 } : a === "yAxis" ? { labels: { y: -2 }, opposite: e.opposite ?? t.opposite ?? !0, showLastLabel: !!(t.categories || t.type === "category"), title: { text: void 0 } } : {};
1274
+ }
1275
+ function Mi(a, t) {
1276
+ if (a === "xAxis") {
1277
+ let e = ot(t.navigator?.enabled, xe.enabled, !0), i = { type: "datetime", categories: void 0 };
1278
+ return e && (i.startOnTick = !1, i.endOnTick = !1), i;
1279
+ }
1280
+ return {};
1281
+ }
1282
+ class Re extends mi() {
1283
+ init(t, e) {
1284
+ let i = xi(), s = t.xAxis, o = t.yAxis, n = ot(t.navigator?.enabled, xe.enabled, !0);
1285
+ t.xAxis = t.yAxis = void 0;
1286
+ let c = wt({ chart: { panning: { enabled: !0, type: "x" }, zooming: { pinchType: "x", mouseWheel: { type: "x" } } }, navigator: { enabled: n }, scrollbar: { enabled: ot(be.enabled, !0) }, rangeSelector: { enabled: ot(Te.rangeSelector.enabled, !0) }, title: { text: null }, tooltip: { split: ot(i.tooltip?.split, !0), crosshairs: !0 }, legend: { enabled: !1 } }, t, { isStock: !0 });
1287
+ t.xAxis = s, t.yAxis = o, c.xAxis = yi(t.xAxis || {}).map((u) => wt(Pe("xAxis", u, i.xAxis), u, Mi("xAxis", t))), c.yAxis = yi(t.yAxis || {}).map((u) => wt(Pe("yAxis", u, i.yAxis), u)), super.init(c, e);
1288
+ }
1289
+ createAxis(t, e) {
1290
+ return e.axis = wt(Pe(t, e.axis, xi()[t]), e.axis, Mi(t, this.userOptions)), super.createAxis(t, e);
1291
+ }
1292
+ }
1293
+ ft(mi(), "update", function(a) {
1294
+ let t = a.options;
1295
+ "scrollbar" in t && this.navigator && (wt(!0, this.options.scrollbar, t.scrollbar), this.navigator.update({ enabled: !!this.navigator.navigatorEnabled }), delete t.scrollbar);
1296
+ }), function(a) {
1297
+ function t(g) {
1298
+ if (!(this.crosshair?.label?.enabled && this.cross && lt(this.min) && lt(this.max))) return;
1299
+ let p = this.chart, d = this.logarithmic, r = this.crosshair.label, l = this.horiz, h = this.opposite, f = this.left, m = this.top, x = this.width, b = this.options.tickPosition === "inside", w = this.crosshair.snap !== !1, v = g.e || this.cross?.e, M = g.point, A = this.crossLabel, y, E, k = r.format, T = "", O, S = 0, C = this.min, I = this.max;
1300
+ d && (C = d.lin2log(this.min), I = d.lin2log(this.max));
1301
+ let G = l ? "center" : h ? this.labelAlign === "right" ? "right" : "left" : this.labelAlign === "left" ? "left" : "center";
1302
+ A || (A = this.crossLabel = p.renderer.label("", 0, void 0, r.shape || "callout").addClass("highcharts-crosshair-label highcharts-color-" + (M?.series ? M.series.colorIndex : this.series[0] && this.series[0].colorIndex)).attr({ align: r.align || G, padding: ot(r.padding, 8), r: ot(r.borderRadius, 3), zIndex: 2 }).add(this.labelGroup), p.styledMode || A.attr({ fill: r.backgroundColor || M?.series?.color || "#666666", stroke: r.borderColor || "", "stroke-width": r.borderWidth || 0 }).css(Xo({ color: "#ffffff", fontWeight: "normal", fontSize: "0.7em", textAlign: "center" }, r.style || {}))), l ? (y = w ? (M.plotX || 0) + f : v.chartX, E = m + (h ? 0 : this.height)) : (y = f + this.offset + (h ? x : 0), E = w ? (M.plotY || 0) + m : v.chartY), k || r.formatter || (this.dateTime && (T = "%b %d, %Y"), k = "{value" + (T ? ":" + T : "") + "}");
1303
+ let D = w ? this.isXAxis ? M.x : M.y : this.toValue(l ? v.chartX : v.chartY), z = M?.series ? M.series.isPointInside(M) : lt(D) && D > C && D < I, L = "";
1304
+ k ? L = Lo(k, { value: D }, p) : r.formatter && lt(D) && (L = r.formatter.call(this, D)), A.attr({ text: L, x: y, y: E, visibility: z ? "inherit" : "hidden" });
1305
+ let W = A.getBBox();
1306
+ !lt(A.x) || l || h || (y = A.x - W.width / 2), lt(A.y) && (l ? (b && !h || !b && h) && (E = A.y - W.height) : E = A.y - W.height / 2), O = l ? { left: f, right: f + this.width } : { left: this.labelAlign === "left" ? f : 0, right: this.labelAlign === "right" ? f + this.width : p.chartWidth };
1307
+ let X = A.translateX || 0;
1308
+ X < O.left && (S = O.left - X), X + W.width >= O.right && (S = -(X + W.width - O.right)), A.attr({ x: Math.max(0, y + S), y: Math.max(0, E), anchorX: l ? y : this.opposite ? 0 : p.chartWidth, anchorY: l ? this.opposite ? p.chartHeight : 0 : E + W.height / 2 });
1309
+ }
1310
+ function e() {
1311
+ this.crossLabel && (this.crossLabel = this.crossLabel.hide());
1312
+ }
1313
+ function i(g) {
1314
+ let p = this.chart, d = this.options, r = p._labelPanes = p._labelPanes || {}, l = d.labels;
1315
+ if (p.options.isStock && this.coll === "yAxis") {
1316
+ let h = d.top + "," + d.height;
1317
+ !r[h] && l.enabled && (l.distance === 15 && this.side === 1 && (l.distance = 0), l.align === void 0 && (l.align = "right"), r[h] = this, g.align = "right", g.preventDefault());
1318
+ }
1319
+ }
1320
+ function s() {
1321
+ let g = this.chart, p = this.options && this.options.top + "," + this.options.height;
1322
+ p && g._labelPanes && g._labelPanes[p] === this && delete g._labelPanes[p];
1323
+ }
1324
+ function o(g) {
1325
+ let p = this, d = p.isLinked && !p.series && p.linkedParent ? p.linkedParent.series : p.series, r = p.chart, l = r.renderer, h = p.left, f = p.top, m = [], x = g.translatedValue, b = g.value, w = g.force, v, M, A, y, E = [], k, T;
1326
+ if (r.options.isStock && g.acrossPanes !== !1 && p.coll === "xAxis" || p.coll === "yAxis") {
1327
+ for (let O of (g.preventDefault(), E = ((S) => {
1328
+ let C = S === "xAxis" ? "yAxis" : "xAxis", I = p.options[C];
1329
+ return lt(I) ? [r[C][I]] : Yo(I) ? [r.get(I)] : d.map((G) => G[C]);
1330
+ })(p.coll), p.isXAxis ? r.yAxis : r.xAxis)) if (!O.options.isInternal) {
1331
+ let S = O.isXAxis ? "yAxis" : "xAxis";
1332
+ p === (De(O.options[S]) ? r[S][O.options[S]] : r[S][0]) && E.push(O);
1333
+ }
1334
+ for (let O of (k = E.length ? [] : [p.isXAxis ? r.yAxis[0] : r.xAxis[0]], E)) k.indexOf(O) !== -1 || Ho(k, (S) => S.pos === O.pos && S.len === O.len) || k.push(O);
1335
+ if (lt(T = ot(x, p.translate(b || 0, void 0, void 0, g.old))))
1336
+ if (p.horiz) for (let O of k) {
1337
+ let S;
1338
+ y = (M = O.pos) + O.len, v = A = Math.round(T + p.transB), w !== "pass" && (v < h || v > h + p.width) && (w ? v = A = bi(v, h, h + p.width) : S = !0), S || m.push(["M", v, M], ["L", A, y]);
1339
+ }
1340
+ else for (let O of k) {
1341
+ let S;
1342
+ A = (v = O.pos) + O.len, M = y = Math.round(f + p.height - T), w !== "pass" && (M < f || M > f + p.height) && (w ? M = y = bi(M, f, f + p.height) : S = !0), S || m.push(["M", v, M], ["L", A, y]);
1343
+ }
1344
+ g.path = m.length > 0 ? l.crispPolyLine(m, g.lineWidth || 1) : void 0;
1345
+ }
1346
+ }
1347
+ function n(g) {
1348
+ if (this.chart.options.isStock) {
1349
+ let p;
1350
+ this.is("column") || this.is("columnrange") ? p = { borderWidth: 0, shadow: !1 } : this.is("scatter") || this.is("sma") || (p = { marker: { enabled: !1, radius: 2 } }), p && (g.plotOptions[this.type] = wt(g.plotOptions[this.type], p));
1351
+ }
1352
+ }
1353
+ function c() {
1354
+ let g = this.chart, p = this.options.dataGrouping;
1355
+ return this.allowDG !== !1 && p && ot(p.enabled, g.options.isStock);
1356
+ }
1357
+ function u(g, p) {
1358
+ for (let d = 0; d < g.length; d += 2) {
1359
+ let r = g[d], l = g[d + 1];
1360
+ De(r[1]) && r[1] === l[1] && (r[1] = l[1] = vi(r[1], p)), De(r[2]) && r[2] === l[2] && (r[2] = l[2] = vi(r[2], p));
1361
+ }
1362
+ return g;
1363
+ }
1364
+ a.compose = function(g, p, d, r) {
1365
+ let l = d.prototype;
1366
+ l.forceCropping || (ft(p, "afterDrawCrosshair", t), ft(p, "afterHideCrosshair", e), ft(p, "autoLabelAlign", i), ft(p, "destroy", s), ft(p, "getPlotLinePath", o), g.prototype.setFixedRange = Wo, l.forceCropping = c, ft(d, "setOptions", n), r.prototype.crispPolyLine = u);
1367
+ }, a.stockChart = function(g, p, d) {
1368
+ return new a(g, p, d);
1369
+ };
1370
+ }(Re || (Re = {}));
1371
+ let Ai = Re, { column: { prototype: { pointClass: No } } } = _().seriesTypes, { column: ki } = _().seriesTypes, { crisp: wi, extend: Si, merge: Fo } = B(), { defaultOptions: Uo } = B();
1372
+ class Ge extends ki {
1373
+ extendStem(t, e, i) {
1374
+ let s = t[0], o = t[1];
1375
+ typeof s[2] == "number" && (s[2] = Math.max(i + e, s[2])), typeof o[2] == "number" && (o[2] = Math.min(i - e, o[2]));
1376
+ }
1377
+ getPointPath(t, e) {
1378
+ let i = e.strokeWidth(), s = t.series, o = wi(t.plotX || 0, i), n = Math.round(t.shapeArgs.width / 2), c = [["M", o, Math.round(t.yBottom)], ["L", o, Math.round(t.plotHigh)]];
1379
+ if (t.close !== null) {
1380
+ let u = wi(t.plotClose, i);
1381
+ c.push(["M", o, u], ["L", o + n, u]), s.extendStem(c, i / 2, u);
1382
+ }
1383
+ return c;
1384
+ }
1385
+ drawSinglePoint(t) {
1386
+ let e = t.series, i = e.chart, s, o = t.graphic;
1387
+ t.plotY !== void 0 && (o || (t.graphic = o = i.renderer.path().add(e.group)), i.styledMode || o.attr(e.pointAttribs(t, t.selected && "select")), s = e.getPointPath(t, o), o[o ? "animate" : "attr"]({ d: s }).addClass(t.getClassName(), !0));
1388
+ }
1389
+ drawPoints() {
1390
+ this.points.forEach(this.drawSinglePoint);
1391
+ }
1392
+ init() {
1393
+ super.init.apply(this, arguments), this.options.stacking = void 0;
1394
+ }
1395
+ pointAttribs(t, e) {
1396
+ let i = super.pointAttribs.call(this, t, e);
1397
+ return delete i.fill, i;
1398
+ }
1399
+ toYData(t) {
1400
+ return [t.high, t.low, t.close];
1401
+ }
1402
+ translate() {
1403
+ let t = this, e = t.yAxis, i = this.pointArrayMap && this.pointArrayMap.slice() || [], s = i.map((o) => `plot${o.charAt(0).toUpperCase() + o.slice(1)}`);
1404
+ s.push("yBottom"), i.push("low"), super.translate.apply(t), t.points.forEach(function(o) {
1405
+ i.forEach(function(n, c) {
1406
+ let u = o[n];
1407
+ u !== null && (t.dataModify && (u = t.dataModify.modifyValue(u)), o[s[c]] = e.toPixels(u, !0));
1408
+ }), o.tooltipPos[1] = o.plotHigh + e.pos - t.chart.plotTop;
1409
+ });
1410
+ }
1411
+ }
1412
+ Ge.defaultOptions = Fo(ki.defaultOptions, { lineWidth: 1, tooltip: { pointFormat: '<span style="color:{point.color}">●</span> <b> {series.name}</b><br/>{series.chart.options.lang.stockHigh}: {point.high}<br/>{series.chart.options.lang.stockLow}: {point.low}<br/>{series.chart.options.lang.stockClose}: {point.close}<br/>' }, threshold: null, states: { hover: { lineWidth: 3 } }, stickyTracking: !0 }), Si(Ge.prototype, { pointClass: class extends No {
1413
+ }, animate: null, directTouch: !1, keysAffectYAxis: ["low", "high"], pointArrayMap: ["high", "low", "close"], pointAttrToOptions: { stroke: "color", "stroke-width": "lineWidth" }, pointValKey: "close" }), Si(Uo.lang, { stockOpen: "Open", stockHigh: "High", stockLow: "Low", stockClose: "Close" }), _().registerSeriesType("hlc", Ge);
1414
+ let { seriesTypes: { hlc: Vo } } = _();
1415
+ class _o extends Vo.prototype.pointClass {
1416
+ getClassName() {
1417
+ return super.getClassName.call(this) + (this.open < this.close ? " highcharts-point-up" : " highcharts-point-down");
1418
+ }
1419
+ resolveUpColor() {
1420
+ this.open < this.close && !this.options.color && this.series.options.upColor && (this.color = this.series.options.upColor);
1421
+ }
1422
+ resolveColor() {
1423
+ super.resolveColor(), this.series.is("heikinashi") || this.resolveUpColor();
1424
+ }
1425
+ getZone() {
1426
+ let t = super.getZone();
1427
+ return this.resolveUpColor(), t;
1428
+ }
1429
+ applyOptions() {
1430
+ return super.applyOptions.apply(this, arguments), this.resolveColor && this.resolveColor(), this;
1431
+ }
1432
+ }
1433
+ let { composed: jo } = B(), { hlc: Ti } = _().seriesTypes, { addEvent: Ei, crisp: Oi, extend: Bi, merge: qo, pushUnique: Zo } = B();
1434
+ function Ko(a) {
1435
+ let t = a.options, e = t.dataGrouping;
1436
+ e && t.useOhlcData && t.id !== "highcharts-navigator-series" && (e.approximation = "ohlc");
1437
+ }
1438
+ function $o(a) {
1439
+ let t = a.options;
1440
+ t.useOhlcData && t.id !== "highcharts-navigator-series" && Bi(this, { pointValKey: mt.prototype.pointValKey, pointArrayMap: mt.prototype.pointArrayMap, toYData: mt.prototype.toYData });
1441
+ }
1442
+ class mt extends Ti {
1443
+ static compose(t, ...e) {
1444
+ Zo(jo, "OHLCSeries") && (Ei(t, "afterSetOptions", Ko), Ei(t, "init", $o));
1445
+ }
1446
+ getPointPath(t, e) {
1447
+ let i = super.getPointPath(t, e), s = e.strokeWidth(), o = Oi(t.plotX || 0, s), n = Math.round(t.shapeArgs.width / 2);
1448
+ if (t.open !== null) {
1449
+ let c = Oi(t.plotOpen, s);
1450
+ i.push(["M", o, c], ["L", o - n, c]), super.extendStem(i, s / 2, c);
1451
+ }
1452
+ return i;
1453
+ }
1454
+ pointAttribs(t, e) {
1455
+ let i = super.pointAttribs.call(this, t, e), s = this.options;
1456
+ return delete i.fill, !t.options.color && s.upColor && t.open < t.close && (i.stroke = s.upColor), i;
1457
+ }
1458
+ toYData(t) {
1459
+ return [t.open, t.high, t.low, t.close];
1460
+ }
1461
+ }
1462
+ mt.defaultOptions = qo(Ti.defaultOptions, { tooltip: { pointFormat: '<span style="color:{point.color}">●</span> <b> {series.name}</b><br/>{series.chart.options.lang.stockOpen}: {point.open}<br/>{series.chart.options.lang.stockHigh}: {point.high}<br/>{series.chart.options.lang.stockLow}: {point.low}<br/>{series.chart.options.lang.stockClose}: {point.close}<br/>' } }), Bi(mt.prototype, { pointClass: _o, pointArrayMap: ["open", "high", "low", "close"] }), _().registerSeriesType("ohlc", mt);
1463
+ let { column: Jo, ohlc: Ie } = _().seriesTypes, { crisp: ze, merge: Qo } = B();
1464
+ class Ci extends Ie {
1465
+ pointAttribs(t, e) {
1466
+ let i = Jo.prototype.pointAttribs.call(this, t, e), s = this.options, o = t.open < t.close, n = s.lineColor || this.color, c = t.color || this.color;
1467
+ if (i["stroke-width"] = s.lineWidth, i.fill = t.options.color || o && s.upColor || c, i.stroke = t.options.lineColor || o && s.upLineColor || n, e) {
1468
+ let u = s.states[e];
1469
+ i.fill = u.color || i.fill, i.stroke = u.lineColor || i.stroke, i["stroke-width"] = u.lineWidth || i["stroke-width"];
1470
+ }
1471
+ return i;
1472
+ }
1473
+ drawPoints() {
1474
+ let t = this.points, e = this.chart, i = this.yAxis.reversed;
1475
+ for (let s of t) {
1476
+ let o = s.graphic, n, c, u, g, p, d, r, l, h, f = !o;
1477
+ if (s.plotY !== void 0) {
1478
+ o || (s.graphic = o = e.renderer.path().add(this.group)), this.chart.styledMode || o.attr(this.pointAttribs(s, s.selected && "select")).shadow(this.options.shadow);
1479
+ let m = o.strokeWidth();
1480
+ r = ze(s.plotX || 0, m), u = Math.min(n = s.plotOpen, c = s.plotClose), g = Math.max(n, c), h = Math.round(s.shapeArgs.width / 2), p = i ? g !== s.yBottom : Math.round(u) !== Math.round(s.plotHigh || 0), d = i ? Math.round(u) !== Math.round(s.plotHigh || 0) : g !== s.yBottom, u = ze(u, m), g = ze(g, m), (l = []).push(["M", r - h, g], ["L", r - h, u], ["L", r + h, u], ["L", r + h, g], ["Z"], ["M", r, u], ["L", r, p ? Math.round(i ? s.yBottom : s.plotHigh) : u], ["M", r, g], ["L", r, d ? Math.round(i ? s.plotHigh : s.yBottom) : g]), o[f ? "attr" : "animate"]({ d: l }).addClass(s.getClassName(), !0);
1481
+ }
1482
+ }
1483
+ }
1484
+ }
1485
+ Ci.defaultOptions = Qo(Ie.defaultOptions, { tooltip: Ie.defaultOptions.tooltip }, { states: { hover: { lineWidth: 2 } }, threshold: null, lineColor: "#000000", lineWidth: 1, upColor: "#ffffff", stickyTracking: !0 }), _().registerSeriesType("candlestick", Ci);
1486
+ let { column: { prototype: { pointClass: tr } } } = _().seriesTypes, { isNumber: er } = B(), ir = class extends tr {
1487
+ constructor() {
1488
+ super(...arguments), this.ttBelow = !1;
1489
+ }
1490
+ isValid() {
1491
+ return er(this.y) || this.y === void 0;
1492
+ }
1493
+ hasNewShapeType() {
1494
+ let a = this.options.shape || this.series.options.shape;
1495
+ return this.graphic && a && a !== this.graphic.symbolKey;
1496
+ }
1497
+ };
1498
+ (function(a) {
1499
+ let t = [];
1500
+ function e(s, o, n, c, u) {
1501
+ let g = u && u.anchorX || s, p = u && u.anchorY || o, d = this.circle(g - 1, p - 1, 2, 2);
1502
+ return d.push(["M", g, p], ["L", s, o + c], ["L", s, o], ["L", s + n, o], ["L", s + n, o + c], ["L", s, o + c], ["Z"]), d;
1503
+ }
1504
+ function i(s, o) {
1505
+ s[o + "pin"] = function(n, c, u, g, p) {
1506
+ let d, r = p && p.anchorX, l = p && p.anchorY;
1507
+ if (o === "circle" && g > u && (n -= Math.round((g - u) / 2), u = g), d = s[o](n, c, u, g, p), r && l) {
1508
+ let h = r;
1509
+ if (o === "circle") h = n + u / 2;
1510
+ else {
1511
+ let m = d[0], x = d[1];
1512
+ m[0] === "M" && x[0] === "L" && (h = (m[1] + x[1]) / 2);
1513
+ }
1514
+ let f = c > l ? c : c + g;
1515
+ d.push(["M", h, f], ["L", r, l]), d = d.concat(s.circle(r - 1, l - 1, 2, 2));
1516
+ }
1517
+ return d;
1518
+ };
1519
+ }
1520
+ a.compose = function(s) {
1521
+ if (t.indexOf(s) === -1) {
1522
+ t.push(s);
1523
+ let n = s.prototype.symbols;
1524
+ n.flag = e, i(n, "circle"), i(n, "square");
1525
+ }
1526
+ let o = $e().getRendererType();
1527
+ t.indexOf(o) && t.push(o);
1528
+ };
1529
+ })(le || (le = {}));
1530
+ let sr = le;
1531
+ var or = R(448), rr = R.n(or);
1532
+ let { composed: ar } = B(), { prototype: nr } = rr(), { prototype: lr } = gs(), { defined: Le, pushUnique: hr, stableSort: dr } = B();
1533
+ (function(a) {
1534
+ function t(i) {
1535
+ return lr.getPlotBox.call(this.options.onSeries && this.chart.get(this.options.onSeries) || this, i);
1536
+ }
1537
+ function e() {
1538
+ nr.translate.apply(this);
1539
+ let i = this, s = i.options, o = i.chart, n = i.points, c = s.onSeries, u = c && o.get(c), g = u && u.options.step, p = u && u.points, d = o.inverted, r = i.xAxis, l = i.yAxis, h = n.length - 1, f, m, x = s.onKey || "y", b = p && p.length, w = 0, v, M, A, y, E;
1540
+ if (u && u.visible && b) {
1541
+ for (w = (u.pointXOffset || 0) + (u.barW || 0) / 2, y = u.currentDataGrouping, M = p[b - 1].x + (y ? y.totalRange : 0), dr(n, (k, T) => k.x - T.x), x = "plot" + x[0].toUpperCase() + x.substr(1); b-- && n[h]; ) if (v = p[b], (f = n[h]).y = v.y, v.x <= f.x && v[x] !== void 0) {
1542
+ if (f.x <= M && (f.plotY = v[x], v.x < f.x && !g && (A = p[b + 1]) && A[x] !== void 0))
1543
+ if (Le(f.plotX) && u.is("spline")) {
1544
+ let k = [v.plotX || 0, v.plotY || 0], T = [A.plotX || 0, A.plotY || 0], O = v.controlPoints?.high || k, S = A.controlPoints?.low || T, C = (z, L) => Math.pow(1 - z, 3) * k[L] + 3 * (1 - z) * (1 - z) * z * O[L] + 3 * (1 - z) * z * z * S[L] + z * z * z * T[L], I = 0, G = 1, D;
1545
+ for (let z = 0; z < 100; z++) {
1546
+ let L = (I + G) / 2, W = C(L, 0);
1547
+ if (W === null) break;
1548
+ if (0.25 > Math.abs(W - f.plotX)) {
1549
+ D = L;
1550
+ break;
1551
+ }
1552
+ W < f.plotX ? I = L : G = L;
1553
+ }
1554
+ Le(D) && (f.plotY = C(D, 1), f.y = l.toValue(f.plotY, !0));
1555
+ } else E = (f.x - v.x) / (A.x - v.x), f.plotY += E * (A[x] - v[x]), f.y += E * (A.y - v.y);
1556
+ if (h--, b++, h < 0) break;
1557
+ }
1558
+ }
1559
+ n.forEach((k, T) => {
1560
+ let O;
1561
+ k.plotX += w, (k.plotY === void 0 || d) && (k.plotX >= 0 && k.plotX <= r.len ? d ? (k.plotY = r.translate(k.x, 0, 1, 0, 1), k.plotX = Le(k.y) ? l.translate(k.y, 0, 0, 0, 1) : 0) : k.plotY = (r.opposite ? 0 : i.yAxis.len) + r.offset : k.shapeArgs = {}), (m = n[T - 1]) && m.plotX === k.plotX && (m.stackIndex === void 0 && (m.stackIndex = 0), O = m.stackIndex + 1), k.stackIndex = O;
1562
+ }), this.onSeries = u;
1563
+ }
1564
+ a.compose = function(i) {
1565
+ if (hr(ar, "OnSeries")) {
1566
+ let s = i.prototype;
1567
+ s.getPlotBox = t, s.translate = e;
1568
+ }
1569
+ return i;
1570
+ }, a.getPlotBox = t, a.translate = e;
1571
+ })(he || (he = {}));
1572
+ let pr = he, { noop: ur } = B(), { distribute: cr } = B(), { series: Di, seriesTypes: { column: Pi } } = _(), { addEvent: gr, defined: fr, extend: mr, isNumber: xr, merge: Ri, objectEach: br, wrap: vr } = B();
1573
+ class St extends Pi {
1574
+ animate(t) {
1575
+ t && this.setClip();
1576
+ }
1577
+ drawPoints() {
1578
+ let t, e, i, s, o, n, c, u, g, p, d, r = this.points, l = this.chart, h = l.renderer, f = l.inverted, m = this.options, x = m.y, b = this.yAxis, w = {}, v = [], M = xr(m.borderRadius) ? m.borderRadius : 0;
1579
+ for (s = r.length; s--; ) o = r[s], p = (f ? o.plotY : o.plotX) > this.xAxis.len, t = o.plotX, c = o.stackIndex, i = o.options.shape || m.shape, (e = o.plotY) !== void 0 && (e = o.plotY + x - (c !== void 0 && c * m.stackDistance)), o.anchorX = c ? void 0 : o.plotX, u = c ? void 0 : o.plotY, d = i !== "flag", n = o.graphic, e !== void 0 && t >= 0 && !p ? (n && o.hasNewShapeType() && (n = n.destroy()), n || (n = o.graphic = h.label("", 0, void 0, i, void 0, void 0, m.useHTML).addClass("highcharts-point").add(this.markerGroup), o.graphic.div && (o.graphic.div.point = o), n.isNew = !0), n.attr({ align: d ? "center" : "left", width: m.width, height: m.height, "text-align": m.textAlign, r: M }), l.styledMode || n.attr(this.pointAttribs(o)).css(Ri(m.style, o.style)).shadow(m.shadow), t > 0 && (t -= n.strokeWidth() % 2), g = { y: e, anchorY: u }, m.allowOverlapX && (g.x = t, g.anchorX = o.anchorX), n.attr({ text: o.options.title ?? m.title ?? "A" })[n.isNew ? "attr" : "animate"](g), m.allowOverlapX || (w[o.plotX] ? w[o.plotX].size = Math.max(w[o.plotX].size, n.width || 0) : w[o.plotX] = { align: 0.5 * !!d, size: n.width || 0, target: t, anchorX: t }), o.tooltipPos = [t, e + b.pos - l.plotTop]) : n && (o.graphic = n.destroy());
1580
+ if (!m.allowOverlapX) {
1581
+ let A = 100;
1582
+ for (let y of (br(w, function(E) {
1583
+ E.plotX = E.anchorX, v.push(E), A = Math.max(E.size, A);
1584
+ }), cr(v, f ? b.len : this.xAxis.len, A), r)) {
1585
+ let E = y.plotX, k = y.graphic, T = k && w[E];
1586
+ T && k && (fr(T.pos) ? k[k.isNew ? "attr" : "animate"]({ x: T.pos + (T.align || 0) * T.size, anchorX: y.anchorX }).show().isNew = !1 : k.hide().isNew = !0);
1587
+ }
1588
+ }
1589
+ m.useHTML && this.markerGroup && vr(this.markerGroup, "on", function(A) {
1590
+ return ui().prototype.on.apply(A.apply(this, [].slice.call(arguments, 1)), [].slice.call(arguments, 1));
1591
+ });
1592
+ }
1593
+ drawTracker() {
1594
+ let t = this.points;
1595
+ for (let e of (super.drawTracker(), t)) {
1596
+ let i = e.graphic;
1597
+ i && (e.unbindMouseOver && e.unbindMouseOver(), e.unbindMouseOver = gr(i.element, "mouseover", function() {
1598
+ for (let s of (e.stackIndex > 0 && !e.raised && (e._y = i.y, i.attr({ y: e._y - 8 }), e.raised = !0), t)) s !== e && s.raised && s.graphic && (s.graphic.attr({ y: s._y }), s.raised = !1);
1599
+ }));
1600
+ }
1601
+ }
1602
+ pointAttribs(t, e) {
1603
+ let i = this.options, s = t && t.color || this.color, o = i.lineColor, n = t && t.lineWidth, c = t && t.fillColor || i.fillColor;
1604
+ return e && (c = i.states[e].fillColor, o = i.states[e].lineColor, n = i.states[e].lineWidth), { fill: c || s, stroke: o || s, "stroke-width": n || i.lineWidth || 0 };
1605
+ }
1606
+ setClip() {
1607
+ Di.prototype.setClip.apply(this, arguments), this.options.clip !== !1 && this.sharedClipKey && this.markerGroup && this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey]);
1608
+ }
1609
+ }
1610
+ St.compose = sr.compose, St.defaultOptions = Ri(Pi.defaultOptions, { borderRadius: 0, pointRange: 0, allowOverlapX: !1, shape: "flag", stackDistance: 12, textAlign: "center", tooltip: { pointFormat: "{point.text}" }, threshold: null, y: -30, fillColor: "#ffffff", lineWidth: 1, states: { hover: { lineColor: "#000000", fillColor: "#ccd3ff" } }, style: { fontSize: "0.7em", fontWeight: "bold" } }), pr.compose(St), mr(St.prototype, { allowDG: !1, forceCrop: !0, invertible: !1, noSharedTooltip: !0, pointClass: ir, sorted: !1, takeOrdinalPosition: !1, trackerGroups: ["markerGroup"], buildKDTree: ur, init: Di.prototype.init }), _().registerSeriesType("flags", St);
1611
+ var yr = R(184), Mr = R.n(yr);
1612
+ let { addEvent: Tt, find: Ar, fireEvent: We, isArray: kr, isNumber: q, pick: Et } = B();
1613
+ (function(a) {
1614
+ function t() {
1615
+ this.brokenAxis !== void 0 && this.brokenAxis.setBreaks(this.options.breaks, !1);
1616
+ }
1617
+ function e() {
1618
+ this.brokenAxis?.hasBreaks && (this.options.ordinal = !1);
1619
+ }
1620
+ function i() {
1621
+ let p = this.brokenAxis;
1622
+ if (p?.hasBreaks) {
1623
+ let d = this.tickPositions, r = this.tickPositions.info, l = [];
1624
+ for (let h = 0; h < d.length; h++) p.isInAnyBreak(d[h]) || l.push(d[h]);
1625
+ this.tickPositions = l, this.tickPositions.info = r;
1626
+ }
1627
+ }
1628
+ function s() {
1629
+ this.brokenAxis || (this.brokenAxis = new g(this));
1630
+ }
1631
+ function o() {
1632
+ let { isDirty: p, options: { connectNulls: d }, points: r, xAxis: l, yAxis: h } = this;
1633
+ if (p) {
1634
+ let f = r.length;
1635
+ for (; f--; ) {
1636
+ let m = r[f], x = (m.y !== null || d !== !1) && (l?.brokenAxis?.isInAnyBreak(m.x, !0) || h?.brokenAxis?.isInAnyBreak(m.y, !0));
1637
+ m.visible = !x && m.options.visible !== !1;
1638
+ }
1639
+ }
1640
+ }
1641
+ function n() {
1642
+ this.drawBreaks(this.xAxis, ["x"]), this.drawBreaks(this.yAxis, Et(this.pointArrayMap, ["y"]));
1643
+ }
1644
+ function c(p, d) {
1645
+ let r, l, h, f = this, m = f.points;
1646
+ if (p?.brokenAxis?.hasBreaks) {
1647
+ let x = p.brokenAxis;
1648
+ d.forEach(function(b) {
1649
+ r = x?.breakArray || [], l = p.isXAxis ? p.min : Et(f.options.threshold, p.min);
1650
+ let w = p?.options?.breaks?.filter(function(v) {
1651
+ let M = !0;
1652
+ for (let A = 0; A < r.length; A++) {
1653
+ let y = r[A];
1654
+ if (y.from === v.from && y.to === v.to) {
1655
+ M = !1;
1656
+ break;
1657
+ }
1658
+ }
1659
+ return M;
1660
+ });
1661
+ m.forEach(function(v) {
1662
+ h = Et(v["stack" + b.toUpperCase()], v[b]), r.forEach(function(M) {
1663
+ if (q(l) && q(h)) {
1664
+ let A = "";
1665
+ l < M.from && h > M.to || l > M.from && h < M.from ? A = "pointBreak" : (l < M.from && h > M.from && h < M.to || l > M.from && h > M.to && h < M.from) && (A = "pointInBreak"), A && We(p, A, { point: v, brk: M });
1666
+ }
1667
+ }), w?.forEach(function(M) {
1668
+ We(p, "pointOutsideOfBreak", { point: v, brk: M });
1669
+ });
1670
+ });
1671
+ });
1672
+ }
1673
+ }
1674
+ function u() {
1675
+ let p = this.currentDataGrouping, d = p?.gapSize, r = this.points.slice(), l = this.yAxis, h = this.options.gapSize, f = r.length - 1;
1676
+ if (h && f > 0) {
1677
+ let m, x;
1678
+ for (this.options.gapUnit !== "value" && (h *= this.basePointRange), d && d > h && d >= this.basePointRange && (h = d); f--; ) if (x && x.visible !== !1 || (x = r[f + 1]), m = r[f], x.visible !== !1 && m.visible !== !1) {
1679
+ if (x.x - m.x > h) {
1680
+ let b = (m.x + x.x) / 2;
1681
+ r.splice(f + 1, 0, { isNull: !0, x: b }), l.stacking && this.options.stacking && ((l.stacking.stacks[this.stackKey][b] = new (Mr())(l, l.options.stackLabels, !1, b, this.stack)).total = 0);
1682
+ }
1683
+ x = m;
1684
+ }
1685
+ }
1686
+ return this.getGraphPath(r);
1687
+ }
1688
+ a.compose = function(p, d) {
1689
+ if (!p.keepProps.includes("brokenAxis")) {
1690
+ p.keepProps.push("brokenAxis"), Tt(p, "init", s), Tt(p, "afterInit", t), Tt(p, "afterSetTickPositions", i), Tt(p, "afterSetOptions", e);
1691
+ let r = d.prototype;
1692
+ r.drawBreaks = c, r.gappedPath = u, Tt(d, "afterGeneratePoints", o), Tt(d, "afterRender", n);
1693
+ }
1694
+ return p;
1695
+ };
1696
+ class g {
1697
+ static isInBreak(d, r) {
1698
+ let l = d.repeat || 1 / 0, h = d.from, f = d.to - d.from, m = r >= h ? (r - h) % l : l - (h - r) % l;
1699
+ return d.inclusive ? m <= f : m < f && m !== 0;
1700
+ }
1701
+ static lin2Val(d) {
1702
+ let r = this.brokenAxis, l = r?.breakArray;
1703
+ if (!l || !q(d)) return d;
1704
+ let h = d, f, m;
1705
+ for (m = 0; m < l.length && !((f = l[m]).from >= h); m++) (f.to < h || g.isInBreak(f, h)) && (h += f.len);
1706
+ return h;
1707
+ }
1708
+ static val2Lin(d) {
1709
+ let r = this.brokenAxis, l = r?.breakArray;
1710
+ if (!l || !q(d)) return d;
1711
+ let h = d, f, m;
1712
+ for (m = 0; m < l.length; m++) if ((f = l[m]).to <= d) h -= f.len;
1713
+ else {
1714
+ if (f.from >= d) break;
1715
+ if (g.isInBreak(f, d)) {
1716
+ h -= d - f.from;
1717
+ break;
1718
+ }
1719
+ }
1720
+ return h;
1721
+ }
1722
+ constructor(d) {
1723
+ this.hasBreaks = !1, this.axis = d;
1724
+ }
1725
+ findBreakAt(d, r) {
1726
+ return Ar(r, function(l) {
1727
+ return l.from < d && d < l.to;
1728
+ });
1729
+ }
1730
+ isInAnyBreak(d, r) {
1731
+ let l = this.axis, h = l.options.breaks || [], f = h.length, m, x, b;
1732
+ if (f && q(d)) {
1733
+ for (; f--; ) g.isInBreak(h[f], d) && (m = !0, x || (x = Et(h[f].showPoints, !l.isXAxis)));
1734
+ b = m && r ? m && !x : m;
1735
+ }
1736
+ return b;
1737
+ }
1738
+ setBreaks(d, r) {
1739
+ let l = this, h = l.axis, f = h.chart.time, m = kr(d) && !!d.length && !!Object.keys(d[0]).length;
1740
+ h.isDirty = l.hasBreaks !== m, l.hasBreaks = m, d?.forEach((x) => {
1741
+ x.from = f.parse(x.from) || 0, x.to = f.parse(x.to) || 0;
1742
+ }), d !== h.options.breaks && (h.options.breaks = h.userOptions.breaks = d), h.forceRedraw = !0, h.series.forEach(function(x) {
1743
+ x.isDirty = !0;
1744
+ }), m || h.val2lin !== g.val2Lin || (delete h.val2lin, delete h.lin2val), m && (h.userOptions.ordinal = !1, h.lin2val = g.lin2Val, h.val2lin = g.val2Lin, h.setExtremes = function(x, b, w, v, M) {
1745
+ if (l.hasBreaks) {
1746
+ let A, y = this.options.breaks || [];
1747
+ for (; A = l.findBreakAt(x, y); ) x = A.to;
1748
+ for (; A = l.findBreakAt(b, y); ) b = A.from;
1749
+ b < x && (b = x);
1750
+ }
1751
+ h.constructor.prototype.setExtremes.call(this, x, b, w, v, M);
1752
+ }, h.setAxisTranslation = function() {
1753
+ if (h.constructor.prototype.setAxisTranslation.call(this), l.unitLength = void 0, l.hasBreaks) {
1754
+ let x = h.options.breaks || [], b = [], w = [], v = Et(h.pointRangePadding, 0), M = 0, A, y, E = h.userMin || h.min, k = h.userMax || h.max, T, O;
1755
+ x.forEach(function(S) {
1756
+ y = S.repeat || 1 / 0, q(E) && q(k) && (g.isInBreak(S, E) && (E += S.to % y - E % y), g.isInBreak(S, k) && (k -= k % y - S.from % y));
1757
+ }), x.forEach(function(S) {
1758
+ if (T = S.from, y = S.repeat || 1 / 0, q(E) && q(k)) {
1759
+ for (; T - y > E; ) T -= y;
1760
+ for (; T < E; ) T += y;
1761
+ for (O = T; O < k; O += y) b.push({ value: O, move: "in" }), b.push({ value: O + S.to - S.from, move: "out", size: S.breakSize });
1762
+ }
1763
+ }), b.sort(function(S, C) {
1764
+ return S.value === C.value ? +(S.move !== "in") - +(C.move !== "in") : S.value - C.value;
1765
+ }), A = 0, T = E, b.forEach(function(S) {
1766
+ (A += S.move === "in" ? 1 : -1) === 1 && S.move === "in" && (T = S.value), A === 0 && q(T) && (w.push({ from: T, to: S.value, len: S.value - T - (S.size || 0) }), M += S.value - T - (S.size || 0));
1767
+ }), l.breakArray = w, q(E) && q(k) && q(h.min) && (l.unitLength = k - E - M + v, We(h, "afterBreaks"), h.staticScale ? h.transA = h.staticScale : l.unitLength && (h.transA *= (k - h.min + v) / l.unitLength), v && (h.minPixelPadding = h.transA * (h.minPointOffset || 0)), h.min = E, h.max = k);
1768
+ }
1769
+ }), Et(r, !0) && h.chart.redraw();
1770
+ }
1771
+ }
1772
+ a.Additions = g;
1773
+ })(de || (de = {}));
1774
+ let wr = de, Ht = B();
1775
+ Ht.BrokenAxis = Ht.BrokenAxis || wr, Ht.BrokenAxis.compose(Ht.Axis, Ht.Series);
1776
+ let U = {}, { arrayMax: Sr, arrayMin: Tr, correctFloat: Er, extend: Or, isNumber: tt } = B();
1777
+ function Gi(a) {
1778
+ let t = a.length, e = Ii(a);
1779
+ return tt(e) && t && (e = Er(e / t)), e;
1780
+ }
1781
+ function Ii(a) {
1782
+ let t = a.length, e;
1783
+ if (!t && a.hasNulls) e = null;
1784
+ else if (t) for (e = 0; t--; ) e += a[t];
1785
+ return e;
1786
+ }
1787
+ let zi = { average: Gi, averages: function() {
1788
+ let a = [];
1789
+ return [].forEach.call(arguments, function(t) {
1790
+ a.push(Gi(t));
1791
+ }), a[0] === void 0 ? void 0 : a;
1792
+ }, close: function(a) {
1793
+ return a.length ? a[a.length - 1] : a.hasNulls ? null : void 0;
1794
+ }, high: function(a) {
1795
+ return a.length ? Sr(a) : a.hasNulls ? null : void 0;
1796
+ }, hlc: function(a, t, e) {
1797
+ if (a = U.high(a), t = U.low(t), e = U.close(e), tt(a) || tt(t) || tt(e)) return [a, t, e];
1798
+ }, low: function(a) {
1799
+ return a.length ? Tr(a) : a.hasNulls ? null : void 0;
1800
+ }, ohlc: function(a, t, e, i) {
1801
+ if (a = U.open(a), t = U.high(t), e = U.low(e), i = U.close(i), tt(a) || tt(t) || tt(e) || tt(i)) return [a, t, e, i];
1802
+ }, open: function(a) {
1803
+ return a.length ? a[0] : a.hasNulls ? null : void 0;
1804
+ }, range: function(a, t) {
1805
+ return a = U.low(a), t = U.high(t), tt(a) || tt(t) ? [a, t] : a === null && t === null ? null : void 0;
1806
+ }, sum: Ii };
1807
+ Or(U, zi);
1808
+ let Ot = { common: { groupPixelWidth: 2, dateTimeLabelFormats: { millisecond: ["%[AebHMSL]", "%[AebHMSL]", "-%[HMSL]"], second: ["%[AebHMS]", "%[AebHMS]", "-%[HMS]"], minute: ["%[AebHM]", "%[AebHM]", "-%[HM]"], hour: ["%[AebHM]", "%[AebHM]", "-%[HM]"], day: ["%[AebY]", "%[Aeb]", "-%[AebY]"], week: ["%v %[AebY]", "%[Aeb]", "-%[AebY]"], month: ["%[BY]", "%[B]", "-%[BY]"], year: ["%Y", "%Y", "-%Y"] } }, seriesSpecific: { line: {}, spline: {}, area: {}, areaspline: {}, arearange: {}, column: { groupPixelWidth: 10 }, columnrange: { groupPixelWidth: 10 }, candlestick: { groupPixelWidth: 10 }, ohlc: { groupPixelWidth: 5 }, hlc: { groupPixelWidth: 5 }, heikinashi: { groupPixelWidth: 10 } }, units: [["millisecond", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]], ["second", [1, 2, 5, 10, 15, 30]], ["minute", [1, 2, 5, 10, 15, 30]], ["hour", [1, 2, 3, 4, 6, 8, 12]], ["day", [1]], ["week", [1]], ["month", [1, 3, 6]], ["year", null]] }, { addEvent: Li, extend: Br, merge: Cr, pick: Wi } = B();
1809
+ function Xi(a) {
1810
+ let t = this, e = t.series;
1811
+ e.forEach(function(i) {
1812
+ i.groupPixelWidth = void 0;
1813
+ }), e.forEach(function(i) {
1814
+ i.groupPixelWidth = t.getGroupPixelWidth && t.getGroupPixelWidth(), i.groupPixelWidth && (i.hasProcessed = !0), i.applyGrouping(!!a.hasExtremesChanged);
1815
+ });
1816
+ }
1817
+ function Dr() {
1818
+ let a = this.series, t = a.length, e = 0, i = !1, s, o;
1819
+ for (; t--; ) (o = a[t].options.dataGrouping) && (e = Math.max(e, Wi(o.groupPixelWidth, Ot.common.groupPixelWidth)), s = (a[t].dataTable.modified || a[t].dataTable).rowCount, (a[t].groupPixelWidth || s > this.chart.plotSizeX / e || s && o.forced) && (i = !0));
1820
+ return i ? e : 0;
1821
+ }
1822
+ function Pr() {
1823
+ this.series.forEach(function(a) {
1824
+ a.hasProcessed = !1;
1825
+ });
1826
+ }
1827
+ function Rr(a, t) {
1828
+ let e;
1829
+ if (t = Wi(t, !0), a || (a = { forced: !1, units: null }), this instanceof Ye) for (e = this.series.length; e--; ) this.series[e].update({ dataGrouping: a }, !1);
1830
+ else this.chart.options.series.forEach(function(i) {
1831
+ i.dataGrouping = typeof a == "boolean" ? a : Cr(a, i.dataGrouping);
1832
+ });
1833
+ this.ordinal && (this.ordinal.slope = void 0), t && this.chart.redraw();
1834
+ }
1835
+ let Gr = { compose: function(a) {
1836
+ Ye = a;
1837
+ let t = a.prototype;
1838
+ t.applyGrouping || (Li(a, "afterSetScale", Pr), Li(a, "postProcessData", Xi), Br(t, { applyGrouping: Xi, getGroupPixelWidth: Dr, setDataGrouping: Rr }));
1839
+ } }, { addEvent: Ir, getMagnitude: zr, normalizeTickInterval: Lr, timeUnits: Kt } = B();
1840
+ (function(a) {
1841
+ function t() {
1842
+ return this.chart.time.getTimeTicks.apply(this.chart.time, arguments);
1843
+ }
1844
+ function e() {
1845
+ if (this.type !== "datetime") {
1846
+ this.dateTime = void 0;
1847
+ return;
1848
+ }
1849
+ this.dateTime || (this.dateTime = new i(this));
1850
+ }
1851
+ a.compose = function(s) {
1852
+ return s.keepProps.includes("dateTime") || (s.keepProps.push("dateTime"), s.prototype.getTimeTicks = t, Ir(s, "afterSetType", e)), s;
1853
+ };
1854
+ class i {
1855
+ constructor(o) {
1856
+ this.axis = o;
1857
+ }
1858
+ normalizeTimeTickInterval(o, n) {
1859
+ let c = n || [["millisecond", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]], ["second", [1, 2, 5, 10, 15, 30]], ["minute", [1, 2, 5, 10, 15, 30]], ["hour", [1, 2, 3, 4, 6, 8, 12]], ["day", [1, 2]], ["week", [1, 2]], ["month", [1, 2, 3, 4, 6]], ["year", null]], u = c[c.length - 1], g = Kt[u[0]], p = u[1], d;
1860
+ for (d = 0; d < c.length && (g = Kt[(u = c[d])[0]], p = u[1], !c[d + 1] || !(o <= (g * p[p.length - 1] + Kt[c[d + 1][0]]) / 2)); d++) ;
1861
+ g === Kt.year && o < 5 * g && (p = [1, 2, 5]);
1862
+ let r = Lr(o / g, p, u[0] === "year" ? Math.max(zr(o / g), 1) : 1);
1863
+ return { unitRange: g, count: r, unitName: u[0] };
1864
+ }
1865
+ getXDateFormat(o, n) {
1866
+ let { axis: c } = this, u = c.chart.time;
1867
+ return c.closestPointRange ? u.getDateFormat(c.closestPointRange, o, c.options.startOfWeek, n) || u.resolveDTLFormat(n.year).main : u.resolveDTLFormat(n.day).main;
1868
+ }
1869
+ }
1870
+ a.Additions = i;
1871
+ })(pe || (pe = {}));
1872
+ let Wr = pe, { series: { prototype: Hi } } = _(), { addEvent: Xe, defined: Yt, error: Yi, extend: Xr, isNumber: Z, merge: He, pick: Hr, splat: Yr } = B(), Nr = Hi.generatePoints;
1873
+ function Fr(a) {
1874
+ var t, e, i;
1875
+ let s, o, n = this.chart, c = this.options.dataGrouping, u = this.allowDG !== !1 && c && Hr(c.enabled, n.options.isStock), g = this.reserveSpace(), p = this.currentDataGrouping, d, r, l = !1;
1876
+ u && !this.requireSorting && (this.requireSorting = l = !0);
1877
+ let h = (t = this, e = a, !!(t.isCartesian && !t.isDirty && !t.xAxis.isDirty && !t.yAxis.isDirty && !e) || !u);
1878
+ if (l && (this.requireSorting = !1), h) return;
1879
+ this.destroyGroupedData();
1880
+ let f = c.groupAll ? this.dataTable : this.dataTable.modified || this.dataTable, m = this.getColumn("x", !c.groupAll), x = n.plotSizeX, b = this.xAxis, w = b.getExtremes(), v = b.options.ordinal, M = this.groupPixelWidth;
1881
+ if (M && m && f.rowCount && x && Z(w.min)) {
1882
+ o = !0, this.isDirty = !0, this.points = null;
1883
+ let A = w.min, y = w.max, E = v && b.ordinal && b.ordinal.getGroupIntervalFactor(A, y, this) || 1, k = M * (y - A) / x * E, T = b.getTimeTicks(Wr.Additions.prototype.normalizeTimeTickInterval(k, c.units || Ot.units), Math.min(A, m[0]), Math.max(y, m[m.length - 1]), b.options.startOfWeek, m, this.closestPointRange), O = Hi.groupData.apply(this, [f, T, c.approximation]), S = O.modified, C = S.getColumn("x", !0), I = 0;
1884
+ for (c?.smoothed && S.rowCount && (c.firstAnchor = "firstPoint", c.anchor = "middle", c.lastAnchor = "lastPoint", Yi(32, !1, n, { "dataGrouping.smoothed": "use dataGrouping.anchor" })), s = 1; s < T.length; s++) T.info.segmentStarts && T.info.segmentStarts.indexOf(s) !== -1 || (I = Math.max(T[s] - T[s - 1], I));
1885
+ (d = T.info).gapSize = I, this.closestPointRange = T.info.totalRange, this.groupMap = O.groupMap, this.currentDataGrouping = d, function(G, D, z) {
1886
+ let L = G.options.dataGrouping, W = G.currentDataGrouping && G.currentDataGrouping.gapSize, X = G.getColumn("x");
1887
+ if (!(L && X.length && W && G.groupMap)) return;
1888
+ let N = D.length - 1, ht = L.anchor, Bt = L.firstAnchor, V = L.lastAnchor, Ct = D.length - 1, Jt = 0;
1889
+ if (Bt && X[0] >= D[0]) {
1890
+ let dt;
1891
+ Jt++;
1892
+ let Zi = G.groupMap[0].start, Ki = G.groupMap[0].length;
1893
+ Z(Zi) && Z(Ki) && (dt = Zi + (Ki - 1)), D[0] = { start: D[0], middle: D[0] + 0.5 * W, end: D[0] + W, firstPoint: X[0], lastPoint: dt && X[dt] }[Bt];
1894
+ }
1895
+ if (N > 0 && V && W && D[N] >= z - W) {
1896
+ Ct--;
1897
+ let dt = G.groupMap[G.groupMap.length - 1].start;
1898
+ D[N] = { start: D[N], middle: D[N] + 0.5 * W, end: D[N] + W, firstPoint: dt && X[dt], lastPoint: X[X.length - 1] }[V];
1899
+ }
1900
+ if (ht && ht !== "start") {
1901
+ let dt = W * { middle: 0.5, end: 1 }[ht];
1902
+ for (; Ct >= Jt; ) D[Ct] += dt, Ct--;
1903
+ }
1904
+ }(this, C || [], y), g && C && (Yt((i = C)[0]) && Z(b.min) && Z(b.dataMin) && i[0] < b.min && ((!Yt(b.options.min) && b.min <= b.dataMin || b.min === b.dataMin) && (b.min = Math.min(i[0], b.min)), b.dataMin = Math.min(i[0], b.dataMin)), Yt(i[i.length - 1]) && Z(b.max) && Z(b.dataMax) && i[i.length - 1] > b.max && ((!Yt(b.options.max) && Z(b.dataMax) && b.max >= b.dataMax || b.max === b.dataMax) && (b.max = Math.max(i[i.length - 1], b.max)), b.dataMax = Math.max(i[i.length - 1], b.dataMax))), c.groupAll && (this.allGroupedTable = S, C = (S = (r = this.cropData(S, b.min || 0, b.max || 0)).modified).getColumn("x"), this.cropStart = r.start), this.dataTable.modified = S;
1905
+ } else this.groupMap = void 0, this.currentDataGrouping = void 0;
1906
+ this.hasGroupedData = o, this.preventGraphAnimation = (p && p.totalRange) !== (d && d.totalRange);
1907
+ }
1908
+ function Ni() {
1909
+ this.groupedData && (this.groupedData.forEach(function(a, t) {
1910
+ a && (this.groupedData[t] = a.destroy ? a.destroy() : null);
1911
+ }, this), this.groupedData.length = 0, delete this.allGroupedTable);
1912
+ }
1913
+ function Ur() {
1914
+ Nr.apply(this), this.destroyGroupedData(), this.groupedData = this.hasGroupedData ? this.points : null;
1915
+ }
1916
+ function Vr() {
1917
+ return this.is("arearange") ? "range" : this.is("ohlc") ? "ohlc" : this.is("hlc") ? "hlc" : this.is("column") || this.options.cumulative ? "sum" : "average";
1918
+ }
1919
+ function Fi(a, t, e) {
1920
+ let i = a.getColumn("x", !0) || [], s = a.getColumn("y", !0), o = this, n = o.data, c = o.options && o.options.data, u = [], g = new ai(), p = [], d = a.rowCount, r = !!s, l = [], h = o.pointArrayMap, f = h && h.length, m = ["x"].concat(h || ["y"]), x = (h || ["y"]).map(() => []), b = this.options.dataGrouping && this.options.dataGrouping.groupAll, w, v, M, A = 0, y = 0, E = typeof e == "function" ? e : e && U[e] ? U[e] : U[o.getDGApproximation && o.getDGApproximation() || "average"];
1921
+ if (f) {
1922
+ let O = h.length;
1923
+ for (; O--; ) l.push([]);
1924
+ } else l.push([]);
1925
+ let k = f || 1;
1926
+ for (let O = 0; O <= d; O++) if (!(i[O] < t[0])) {
1927
+ for (; t[A + 1] !== void 0 && i[O] >= t[A + 1] || O === d; ) {
1928
+ if (w = t[A], o.dataGroupInfo = { start: b ? y : o.cropStart + y, length: l[0].length, groupStart: w }, M = E.apply(o, l), o.pointClass && !Yt(o.dataGroupInfo.options) && (o.dataGroupInfo.options = He(o.pointClass.prototype.optionsToObject.call({ series: o }, o.options.data[o.cropStart + y])), m.forEach(function(S) {
1929
+ delete o.dataGroupInfo.options[S];
1930
+ })), M !== void 0) {
1931
+ u.push(w);
1932
+ let S = Yr(M);
1933
+ for (let C = 0; C < S.length; C++) x[C].push(S[C]);
1934
+ p.push(o.dataGroupInfo);
1935
+ }
1936
+ y = O;
1937
+ for (let S = 0; S < k; S++) l[S].length = 0, l[S].hasNulls = !1;
1938
+ if (A += 1, O === d) break;
1939
+ }
1940
+ if (O === d) break;
1941
+ if (h) {
1942
+ let S, C = b ? O : o.cropStart + O, I = n && n[C] || o.pointClass.prototype.applyOptions.apply({ series: o }, [c[C]]);
1943
+ for (let G = 0; G < f; G++) Z(S = I[h[G]]) ? l[G].push(S) : S === null && (l[G].hasNulls = !0);
1944
+ } else Z(v = r ? s[O] : null) ? l[0].push(v) : v === null && (l[0].hasNulls = !0);
1945
+ }
1946
+ let T = { x: u };
1947
+ return (h || ["y"]).forEach((O, S) => {
1948
+ T[O] = x[S];
1949
+ }), g.setColumns(T), { groupMap: p, modified: g };
1950
+ }
1951
+ function _r(a) {
1952
+ let t = a.options, e = this.type, i = this.chart.options.plotOptions, s = this.useCommonDataGrouping && Ot.common, o = Ot.seriesSpecific, n = B().defaultOptions.plotOptions[e].dataGrouping;
1953
+ if (i && (o[e] || s)) {
1954
+ let c = this.chart.rangeSelector;
1955
+ n || (n = He(Ot.common, o[e])), t.dataGrouping = He(s, n, i.series && i.series.dataGrouping, i[e].dataGrouping, this.userOptions.dataGrouping, !t.isInternal && c && Z(c.selected) && c.buttonOptions[c.selected].dataGrouping);
1956
+ }
1957
+ }
1958
+ let Ui = { compose: function(a) {
1959
+ let t = a.prototype;
1960
+ t.applyGrouping || (Xe(a.prototype.pointClass, "update", function() {
1961
+ if (this.dataGroup) return Yi(24, !1, this.series.chart), !1;
1962
+ }), Xe(a, "afterSetOptions", _r), Xe(a, "destroy", Ni), Xr(t, { applyGrouping: Fr, destroyGroupedData: Ni, generatePoints: Ur, getDGApproximation: Vr, groupData: Fi }));
1963
+ }, groupData: Fi }, { format: jr } = Oe(), { composed: qr } = B(), { addEvent: Zr, extend: Kr, isNumber: $r, pick: Jr, pushUnique: Qr } = B();
1964
+ function ta(a) {
1965
+ let t = this.chart, e = t.time, i = a.point, s = i.series, o = s.options, n = s.tooltipOptions, c = o.dataGrouping, u = s.xAxis, g = n.xDateFormat || "", p, d, r, l, h, f = n[a.isFooter ? "footerFormat" : "headerFormat"];
1966
+ if (u && u.options.type === "datetime" && c && $r(i.key)) {
1967
+ d = s.currentDataGrouping, r = c.dateTimeLabelFormats || Ot.common.dateTimeLabelFormats, d ? (l = r[d.unitName], d.count === 1 ? g = l[0] : (g = l[1], p = l[2])) : !g && r && u.dateTime && (g = u.dateTime.getXDateFormat(i.x, n.dateTimeLabelFormats));
1968
+ let m = Jr(s.groupMap?.[i.index].groupStart, i.key), x = m + (d?.totalRange || 0) - 1;
1969
+ h = e.dateFormat(g, m), p && (h += e.dateFormat(p, x)), s.chart.styledMode && (f = this.styledModeFormat(f)), a.text = jr(f, { point: Kr(i, { key: h }), series: s }, t), a.preventDefault();
1970
+ }
1971
+ }
1972
+ let ea = { compose: function(a, t, e) {
1973
+ Gr.compose(a), Ui.compose(t), e && Qr(qr, "DataGrouping") && Zr(e, "headerFormatter", ta);
1974
+ }, groupData: Ui.groupData }, rt = B();
1975
+ rt.dataGrouping = rt.dataGrouping || {}, rt.dataGrouping.approximationDefaults = rt.dataGrouping.approximationDefaults || zi, rt.dataGrouping.approximations = rt.dataGrouping.approximations || U, ea.compose(rt.Axis, rt.Series, rt.Tooltip);
1976
+ let { defined: ya, isNumber: Vi, pick: ia } = B(), { addEvent: _i, isObject: sa, pick: oa, defined: ra, merge: aa } = B(), { getAssignedAxis: ji } = { getAssignedAxis: function(a) {
1977
+ return a.filter((t) => {
1978
+ let e = t.axis.getExtremes(), i = e.min, s = e.max, o = ia(t.axis.minPointOffset, 0);
1979
+ return Vi(i) && Vi(s) && t.value >= i - o && t.value <= s + o && !t.axis.options.isInternal;
1980
+ })[0];
1981
+ } }, qi = [], na = { enabled: !0, sensitivity: 1.1 }, la = (a) => (sa(a) || (a = { enabled: a ?? !0 }), aa(na, a)), ha = function(a, t, e, i, s, o, n) {
1982
+ let c = oa(n.type, a.zooming.type, ""), u = [];
1983
+ c === "x" ? u = e : c === "y" ? u = i : c === "xy" && (u = a.axes);
1984
+ let g = a.transform({ axes: u, to: { x: s - 5, y: o - 5, width: 10, height: 10 }, from: { x: s - 5 * t, y: o - 5 * t, width: 10 * t, height: 10 * t }, trigger: "mousewheel" });
1985
+ return g && (ra(se) && clearTimeout(se), se = setTimeout(() => {
1986
+ a.pointer?.drop();
1987
+ }, 400)), g;
1988
+ };
1989
+ function da() {
1990
+ let a = la(this.zooming.mouseWheel);
1991
+ a.enabled && _i(this.container, "wheel", (t) => {
1992
+ t = this.pointer?.normalize(t) || t;
1993
+ let { pointer: e } = this, i = e && !e.inClass(t.target, "highcharts-no-mousewheel");
1994
+ if (this.isInsidePlot(t.chartX - this.plotLeft, t.chartY - this.plotTop) && i) {
1995
+ let s = a.sensitivity || 1.1, o = t.detail || (t.deltaY || 0) / 120, n = ji(e.getCoordinates(t).xAxis), c = ji(e.getCoordinates(t).yAxis);
1996
+ ha(this, Math.pow(s, o), n ? [n.axis] : this.xAxis, c ? [c.axis] : this.yAxis, t.chartX, t.chartY, a) && t.preventDefault?.();
1997
+ }
1998
+ });
1999
+ }
2000
+ let $t = B();
2001
+ $t.MouseWheelZoom = $t.MouseWheelZoom || { compose: function(a) {
2002
+ qi.indexOf(a) === -1 && (qi.push(a), _i(a, "afterGetContainer", da));
2003
+ } }, $t.MouseWheelZoom.compose($t.Chart);
2004
+ let P = B();
2005
+ P.Navigator = P.Navigator || qt, P.OrdinalAxis = P.OrdinalAxis || Se, P.RangeSelector = P.RangeSelector || Xt, P.Scrollbar = P.Scrollbar || at, P.stockChart = P.stockChart || Ai.stockChart, P.StockChart = P.StockChart || P.stockChart, P.extend(P.StockChart, Ai), As.compose(P.Series, P.Axis, P.Point), St.compose(P.Renderer), mt.compose(P.Series), P.Navigator.compose(P.Chart, P.Axis, P.Series), P.OrdinalAxis.compose(P.Axis, P.Series, P.Chart), P.RangeSelector.compose(P.Axis, P.Chart), P.Scrollbar.compose(P.Axis), P.StockChart.compose(P.Chart, P.Axis, P.Series, P.SVGRenderer);
2006
+ let pa = B();
2007
+ return Fe.default;
2008
+ })());
2009
+ }(Qt)), Qt.exports;
2010
+ }
2011
+ var Ji = fa();
2012
+ const ma = /* @__PURE__ */ ua(Ji), Aa = /* @__PURE__ */ ca({
2013
+ __proto__: null,
2014
+ default: ma
2015
+ }, [Ji]);
2016
+ export {
2017
+ Aa as s
2018
+ };