minerva-design 1.0.2 → 1.2.0

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 (354) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +21 -19
  3. package/dist/charts/canvas.d.cts +7 -0
  4. package/dist/charts/canvas.d.ts +7 -0
  5. package/dist/charts/core.cjs +1 -0
  6. package/dist/charts/core.d.cts +7 -0
  7. package/dist/charts/core.d.ts +7 -0
  8. package/dist/charts/core.js +6 -0
  9. package/dist/charts/engine/axis.cjs +2 -0
  10. package/dist/charts/engine/axis.cjs.map +1 -0
  11. package/dist/charts/engine/axis.d.cts +13 -0
  12. package/dist/charts/engine/axis.d.ts +13 -0
  13. package/dist/charts/engine/axis.js +38 -0
  14. package/dist/charts/engine/axis.js.map +1 -0
  15. package/dist/charts/engine/canvas.cjs +2 -0
  16. package/dist/charts/engine/canvas.cjs.map +1 -0
  17. package/dist/charts/engine/canvas.d.cts +85 -0
  18. package/dist/charts/engine/canvas.d.ts +85 -0
  19. package/dist/charts/engine/canvas.js +165 -0
  20. package/dist/charts/engine/canvas.js.map +1 -0
  21. package/dist/charts/engine/chart.cjs +3 -0
  22. package/dist/charts/engine/chart.cjs.map +1 -0
  23. package/dist/charts/engine/chart.d.cts +6 -0
  24. package/dist/charts/engine/chart.d.ts +6 -0
  25. package/dist/charts/engine/chart.js +566 -0
  26. package/dist/charts/engine/chart.js.map +1 -0
  27. package/dist/charts/engine/color.cjs +2 -0
  28. package/dist/charts/engine/color.cjs.map +1 -0
  29. package/dist/charts/engine/color.d.cts +33 -0
  30. package/dist/charts/engine/color.d.ts +33 -0
  31. package/dist/charts/engine/color.js +167 -0
  32. package/dist/charts/engine/color.js.map +1 -0
  33. package/dist/charts/engine/controller.cjs +3 -0
  34. package/dist/charts/engine/controller.cjs.map +1 -0
  35. package/dist/charts/engine/controller.d.cts +182 -0
  36. package/dist/charts/engine/controller.d.ts +182 -0
  37. package/dist/charts/engine/controller.js +528 -0
  38. package/dist/charts/engine/controller.js.map +1 -0
  39. package/dist/charts/engine/data.cjs +2 -0
  40. package/dist/charts/engine/data.cjs.map +1 -0
  41. package/dist/charts/engine/data.d.cts +29 -0
  42. package/dist/charts/engine/data.d.ts +29 -0
  43. package/dist/charts/engine/data.js +104 -0
  44. package/dist/charts/engine/data.js.map +1 -0
  45. package/dist/charts/engine/decimate.cjs +2 -0
  46. package/dist/charts/engine/decimate.cjs.map +1 -0
  47. package/dist/charts/engine/decimate.d.cts +13 -0
  48. package/dist/charts/engine/decimate.d.ts +13 -0
  49. package/dist/charts/engine/decimate.js +28 -0
  50. package/dist/charts/engine/decimate.js.map +1 -0
  51. package/dist/charts/engine/dom.cjs +2 -0
  52. package/dist/charts/engine/dom.cjs.map +1 -0
  53. package/dist/charts/engine/dom.d.cts +21 -0
  54. package/dist/charts/engine/dom.d.ts +21 -0
  55. package/dist/charts/engine/dom.js +125 -0
  56. package/dist/charts/engine/dom.js.map +1 -0
  57. package/dist/charts/engine/format.cjs +2 -0
  58. package/dist/charts/engine/format.cjs.map +1 -0
  59. package/dist/charts/engine/format.d.cts +9 -0
  60. package/dist/charts/engine/format.d.ts +9 -0
  61. package/dist/charts/engine/format.js +34 -0
  62. package/dist/charts/engine/format.js.map +1 -0
  63. package/dist/charts/engine/items.cjs +2 -0
  64. package/dist/charts/engine/items.cjs.map +1 -0
  65. package/dist/charts/engine/items.d.cts +8 -0
  66. package/dist/charts/engine/items.d.ts +8 -0
  67. package/dist/charts/engine/items.js +91 -0
  68. package/dist/charts/engine/items.js.map +1 -0
  69. package/dist/charts/engine/layout.cjs +2 -0
  70. package/dist/charts/engine/layout.cjs.map +1 -0
  71. package/dist/charts/engine/layout.d.cts +37 -0
  72. package/dist/charts/engine/layout.d.ts +37 -0
  73. package/dist/charts/engine/layout.js +26 -0
  74. package/dist/charts/engine/layout.js.map +1 -0
  75. package/dist/charts/engine/model.cjs +2 -0
  76. package/dist/charts/engine/model.cjs.map +1 -0
  77. package/dist/charts/engine/model.d.cts +74 -0
  78. package/dist/charts/engine/model.d.ts +74 -0
  79. package/dist/charts/engine/model.js +175 -0
  80. package/dist/charts/engine/model.js.map +1 -0
  81. package/dist/charts/engine/overlay.cjs +2 -0
  82. package/dist/charts/engine/overlay.cjs.map +1 -0
  83. package/dist/charts/engine/overlay.d.cts +78 -0
  84. package/dist/charts/engine/overlay.d.ts +78 -0
  85. package/dist/charts/engine/overlay.js +137 -0
  86. package/dist/charts/engine/overlay.js.map +1 -0
  87. package/dist/charts/engine/presets.cjs +3 -0
  88. package/dist/charts/engine/presets.cjs.map +1 -0
  89. package/dist/charts/engine/presets.d.cts +103 -0
  90. package/dist/charts/engine/presets.d.ts +103 -0
  91. package/dist/charts/engine/presets.js +153 -0
  92. package/dist/charts/engine/presets.js.map +1 -0
  93. package/dist/charts/engine/renderers/canvas2d.cjs +2 -0
  94. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -0
  95. package/dist/charts/engine/renderers/canvas2d.d.cts +20 -0
  96. package/dist/charts/engine/renderers/canvas2d.d.ts +20 -0
  97. package/dist/charts/engine/renderers/canvas2d.js +193 -0
  98. package/dist/charts/engine/renderers/canvas2d.js.map +1 -0
  99. package/dist/charts/engine/renderers/detect.cjs +2 -0
  100. package/dist/charts/engine/renderers/detect.cjs.map +1 -0
  101. package/dist/charts/engine/renderers/detect.d.cts +12 -0
  102. package/dist/charts/engine/renderers/detect.d.ts +12 -0
  103. package/dist/charts/engine/renderers/detect.js +33 -0
  104. package/dist/charts/engine/renderers/detect.js.map +1 -0
  105. package/dist/charts/engine/renderers/range.cjs +2 -0
  106. package/dist/charts/engine/renderers/range.cjs.map +1 -0
  107. package/dist/charts/engine/renderers/range.d.cts +5 -0
  108. package/dist/charts/engine/renderers/range.d.ts +5 -0
  109. package/dist/charts/engine/renderers/range.js +32 -0
  110. package/dist/charts/engine/renderers/range.js.map +1 -0
  111. package/dist/charts/engine/renderers/shaders.cjs +266 -0
  112. package/dist/charts/engine/renderers/shaders.cjs.map +1 -0
  113. package/dist/charts/engine/renderers/shaders.d.cts +20 -0
  114. package/dist/charts/engine/renderers/shaders.d.ts +20 -0
  115. package/dist/charts/engine/renderers/shaders.js +251 -0
  116. package/dist/charts/engine/renderers/shaders.js.map +1 -0
  117. package/dist/charts/engine/renderers/types.cjs +2 -0
  118. package/dist/charts/engine/renderers/types.cjs.map +1 -0
  119. package/dist/charts/engine/renderers/types.d.cts +83 -0
  120. package/dist/charts/engine/renderers/types.d.ts +83 -0
  121. package/dist/charts/engine/renderers/types.js +6 -0
  122. package/dist/charts/engine/renderers/types.js.map +1 -0
  123. package/dist/charts/engine/renderers/webgl2.cjs +2 -0
  124. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -0
  125. package/dist/charts/engine/renderers/webgl2.d.cts +5 -0
  126. package/dist/charts/engine/renderers/webgl2.d.ts +5 -0
  127. package/dist/charts/engine/renderers/webgl2.js +134 -0
  128. package/dist/charts/engine/renderers/webgl2.js.map +1 -0
  129. package/dist/charts/engine/renderers/webgpu.cjs +2 -0
  130. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -0
  131. package/dist/charts/engine/renderers/webgpu.d.cts +6 -0
  132. package/dist/charts/engine/renderers/webgpu.d.ts +6 -0
  133. package/dist/charts/engine/renderers/webgpu.js +220 -0
  134. package/dist/charts/engine/renderers/webgpu.js.map +1 -0
  135. package/dist/charts/engine/scale.cjs +2 -0
  136. package/dist/charts/engine/scale.cjs.map +1 -0
  137. package/dist/charts/engine/scale.d.cts +13 -0
  138. package/dist/charts/engine/scale.d.ts +13 -0
  139. package/dist/charts/engine/scale.js +37 -0
  140. package/dist/charts/engine/scale.js.map +1 -0
  141. package/dist/charts/engine/scene.cjs +2 -0
  142. package/dist/charts/engine/scene.cjs.map +1 -0
  143. package/dist/charts/engine/scene.d.cts +89 -0
  144. package/dist/charts/engine/scene.d.ts +89 -0
  145. package/dist/charts/engine/scene.js +241 -0
  146. package/dist/charts/engine/scene.js.map +1 -0
  147. package/dist/charts/engine/spatial.cjs +2 -0
  148. package/dist/charts/engine/spatial.cjs.map +1 -0
  149. package/dist/charts/engine/spatial.d.cts +18 -0
  150. package/dist/charts/engine/spatial.d.ts +18 -0
  151. package/dist/charts/engine/spatial.js +53 -0
  152. package/dist/charts/engine/spatial.js.map +1 -0
  153. package/dist/charts/engine/theme.cjs +2 -0
  154. package/dist/charts/engine/theme.cjs.map +1 -0
  155. package/dist/charts/engine/theme.d.cts +45 -0
  156. package/dist/charts/engine/theme.d.ts +45 -0
  157. package/dist/charts/engine/theme.js +86 -0
  158. package/dist/charts/engine/theme.js.map +1 -0
  159. package/dist/charts/engine/time.cjs +2 -0
  160. package/dist/charts/engine/time.cjs.map +1 -0
  161. package/dist/charts/engine/time.d.cts +10 -0
  162. package/dist/charts/engine/time.d.ts +10 -0
  163. package/dist/charts/engine/time.js +189 -0
  164. package/dist/charts/engine/time.js.map +1 -0
  165. package/dist/charts/engine/types.d.cts +356 -0
  166. package/dist/charts/engine/types.d.ts +356 -0
  167. package/dist/charts/engine/viewport.cjs +2 -0
  168. package/dist/charts/engine/viewport.cjs.map +1 -0
  169. package/dist/charts/engine/viewport.d.cts +12 -0
  170. package/dist/charts/engine/viewport.d.ts +12 -0
  171. package/dist/charts/engine/viewport.js +15 -0
  172. package/dist/charts/engine/viewport.js.map +1 -0
  173. package/dist/charts/index.cjs +1 -0
  174. package/dist/charts/index.d.cts +4 -0
  175. package/dist/charts/index.d.ts +4 -0
  176. package/dist/charts/index.js +10 -0
  177. package/dist/charts/react/Chart.cjs +2 -0
  178. package/dist/charts/react/Chart.cjs.map +1 -0
  179. package/dist/charts/react/Chart.d.cts +35 -0
  180. package/dist/charts/react/Chart.d.ts +35 -0
  181. package/dist/charts/react/Chart.js +117 -0
  182. package/dist/charts/react/Chart.js.map +1 -0
  183. package/dist/charts/react/charts.cjs +2 -0
  184. package/dist/charts/react/charts.cjs.map +1 -0
  185. package/dist/charts/react/charts.d.cts +13 -0
  186. package/dist/charts/react/charts.d.ts +13 -0
  187. package/dist/charts/react/charts.js +133 -0
  188. package/dist/charts/react/charts.js.map +1 -0
  189. package/dist/charts/react/types.d.cts +136 -0
  190. package/dist/charts/react/types.d.ts +136 -0
  191. package/dist/native/charts/src/canvas.cjs +1 -0
  192. package/dist/native/charts/src/canvas.js +6 -0
  193. package/dist/native/charts/src/engine/axis.cjs +2 -0
  194. package/dist/native/charts/src/engine/axis.cjs.map +1 -0
  195. package/dist/native/charts/src/engine/axis.js +38 -0
  196. package/dist/native/charts/src/engine/axis.js.map +1 -0
  197. package/dist/native/charts/src/engine/canvas.cjs +1 -0
  198. package/dist/native/charts/src/engine/canvas.js +1 -0
  199. package/dist/native/charts/src/engine/color.cjs +2 -0
  200. package/dist/native/charts/src/engine/color.cjs.map +1 -0
  201. package/dist/native/charts/src/engine/color.js +130 -0
  202. package/dist/native/charts/src/engine/color.js.map +1 -0
  203. package/dist/native/charts/src/engine/controller.cjs +3 -0
  204. package/dist/native/charts/src/engine/controller.cjs.map +1 -0
  205. package/dist/native/charts/src/engine/controller.js +528 -0
  206. package/dist/native/charts/src/engine/controller.js.map +1 -0
  207. package/dist/native/charts/src/engine/data.cjs +2 -0
  208. package/dist/native/charts/src/engine/data.cjs.map +1 -0
  209. package/dist/native/charts/src/engine/data.js +104 -0
  210. package/dist/native/charts/src/engine/data.js.map +1 -0
  211. package/dist/native/charts/src/engine/decimate.cjs +2 -0
  212. package/dist/native/charts/src/engine/decimate.cjs.map +1 -0
  213. package/dist/native/charts/src/engine/decimate.js +28 -0
  214. package/dist/native/charts/src/engine/decimate.js.map +1 -0
  215. package/dist/native/charts/src/engine/format.cjs +2 -0
  216. package/dist/native/charts/src/engine/format.cjs.map +1 -0
  217. package/dist/native/charts/src/engine/format.js +34 -0
  218. package/dist/native/charts/src/engine/format.js.map +1 -0
  219. package/dist/native/charts/src/engine/layout.cjs +2 -0
  220. package/dist/native/charts/src/engine/layout.cjs.map +1 -0
  221. package/dist/native/charts/src/engine/layout.js +26 -0
  222. package/dist/native/charts/src/engine/layout.js.map +1 -0
  223. package/dist/native/charts/src/engine/model.cjs +2 -0
  224. package/dist/native/charts/src/engine/model.cjs.map +1 -0
  225. package/dist/native/charts/src/engine/model.js +175 -0
  226. package/dist/native/charts/src/engine/model.js.map +1 -0
  227. package/dist/native/charts/src/engine/overlay.cjs +2 -0
  228. package/dist/native/charts/src/engine/overlay.cjs.map +1 -0
  229. package/dist/native/charts/src/engine/overlay.js +49 -0
  230. package/dist/native/charts/src/engine/overlay.js.map +1 -0
  231. package/dist/native/charts/src/engine/presets.cjs +3 -0
  232. package/dist/native/charts/src/engine/presets.cjs.map +1 -0
  233. package/dist/native/charts/src/engine/presets.js +147 -0
  234. package/dist/native/charts/src/engine/presets.js.map +1 -0
  235. package/dist/native/charts/src/engine/scale.cjs +2 -0
  236. package/dist/native/charts/src/engine/scale.cjs.map +1 -0
  237. package/dist/native/charts/src/engine/scale.js +37 -0
  238. package/dist/native/charts/src/engine/scale.js.map +1 -0
  239. package/dist/native/charts/src/engine/scene.cjs +2 -0
  240. package/dist/native/charts/src/engine/scene.cjs.map +1 -0
  241. package/dist/native/charts/src/engine/scene.js +241 -0
  242. package/dist/native/charts/src/engine/scene.js.map +1 -0
  243. package/dist/native/charts/src/engine/spatial.cjs +2 -0
  244. package/dist/native/charts/src/engine/spatial.cjs.map +1 -0
  245. package/dist/native/charts/src/engine/spatial.js +53 -0
  246. package/dist/native/charts/src/engine/spatial.js.map +1 -0
  247. package/dist/native/charts/src/engine/theme.cjs +2 -0
  248. package/dist/native/charts/src/engine/theme.cjs.map +1 -0
  249. package/dist/native/charts/src/engine/theme.js +62 -0
  250. package/dist/native/charts/src/engine/theme.js.map +1 -0
  251. package/dist/native/charts/src/engine/time.cjs +2 -0
  252. package/dist/native/charts/src/engine/time.cjs.map +1 -0
  253. package/dist/native/charts/src/engine/time.js +189 -0
  254. package/dist/native/charts/src/engine/time.js.map +1 -0
  255. package/dist/native/charts/src/engine/viewport.cjs +2 -0
  256. package/dist/native/charts/src/engine/viewport.cjs.map +1 -0
  257. package/dist/native/charts/src/engine/viewport.js +12 -0
  258. package/dist/native/charts/src/engine/viewport.js.map +1 -0
  259. package/dist/native/components/Chart/ChartBase.cjs +2 -0
  260. package/dist/native/components/Chart/ChartBase.cjs.map +1 -0
  261. package/dist/native/components/Chart/ChartBase.d.cts +29 -0
  262. package/dist/native/components/Chart/ChartBase.d.ts +29 -0
  263. package/dist/native/components/Chart/ChartBase.js +287 -0
  264. package/dist/native/components/Chart/ChartBase.js.map +1 -0
  265. package/dist/native/components/Chart/charts.cjs +2 -0
  266. package/dist/native/components/Chart/charts.cjs.map +1 -0
  267. package/dist/native/components/Chart/charts.d.cts +19 -0
  268. package/dist/native/components/Chart/charts.d.ts +19 -0
  269. package/dist/native/components/Chart/charts.js +173 -0
  270. package/dist/native/components/Chart/charts.js.map +1 -0
  271. package/dist/native/components/Chart/index.cjs +1 -0
  272. package/dist/native/components/Chart/index.d.cts +2 -0
  273. package/dist/native/components/Chart/index.d.ts +2 -0
  274. package/dist/native/components/Chart/index.js +2 -0
  275. package/dist/native/components/Chart/measure.cjs +2 -0
  276. package/dist/native/components/Chart/measure.cjs.map +1 -0
  277. package/dist/native/components/Chart/measure.d.cts +5 -0
  278. package/dist/native/components/Chart/measure.d.ts +5 -0
  279. package/dist/native/components/Chart/measure.js +11 -0
  280. package/dist/native/components/Chart/measure.js.map +1 -0
  281. package/dist/native/components/Chart/scene.cjs +2 -0
  282. package/dist/native/components/Chart/scene.cjs.map +1 -0
  283. package/dist/native/components/Chart/scene.d.cts +41 -0
  284. package/dist/native/components/Chart/scene.d.ts +41 -0
  285. package/dist/native/components/Chart/scene.js +419 -0
  286. package/dist/native/components/Chart/scene.js.map +1 -0
  287. package/dist/native/components/Chart/theme.cjs +2 -0
  288. package/dist/native/components/Chart/theme.cjs.map +1 -0
  289. package/dist/native/components/Chart/theme.d.cts +10 -0
  290. package/dist/native/components/Chart/theme.d.ts +10 -0
  291. package/dist/native/components/Chart/theme.js +10 -0
  292. package/dist/native/components/Chart/theme.js.map +1 -0
  293. package/dist/native/components/Chart/types.d.cts +129 -0
  294. package/dist/native/components/Chart/types.d.ts +129 -0
  295. package/dist/native/index.cjs +1 -1
  296. package/dist/native/index.d.cts +1 -0
  297. package/dist/native/index.d.ts +1 -0
  298. package/dist/native/index.js +6 -4
  299. package/dist/native/manifest.d.cts +7 -0
  300. package/dist/native/manifest.d.ts +7 -0
  301. package/dist/native/source/components/Chart/ChartBase.tsx +545 -0
  302. package/dist/native/source/components/Chart/charts.tsx +291 -0
  303. package/dist/native/source/components/Chart/index.ts +8 -0
  304. package/dist/native/source/components/Chart/measure.ts +50 -0
  305. package/dist/native/source/components/Chart/scene.tsx +987 -0
  306. package/dist/native/source/components/Chart/theme.ts +16 -0
  307. package/dist/native/source/components/Chart/types.ts +194 -0
  308. package/dist/native/source/index.ts +1 -0
  309. package/dist/native/source/manifest.ts +14 -0
  310. package/dist/taro/charts.d.ts +144 -0
  311. package/dist/taro/index.d.ts +1 -0
  312. package/dist/taro/index.js +3064 -618
  313. package/dist/uni/BarChart.vue +75 -0
  314. package/dist/uni/BarChart.vue.d.ts +111 -0
  315. package/dist/uni/Chart.vue +68 -0
  316. package/dist/uni/Chart.vue.d.ts +100 -0
  317. package/dist/uni/LineChart.vue +75 -0
  318. package/dist/uni/LineChart.vue.d.ts +111 -0
  319. package/dist/uni/ProgressIndicator.vue.d.ts +1 -1
  320. package/dist/uni/QuadrantChart.vue +184 -0
  321. package/dist/uni/QuadrantChart.vue.d.ts +173 -0
  322. package/dist/uni/ScatterChart.vue +69 -0
  323. package/dist/uni/ScatterChart.vue.d.ts +100 -0
  324. package/dist/uni/chart-canvas.d.ts +68 -0
  325. package/dist/uni/chart-canvas.js +363 -0
  326. package/dist/uni/chart-types.d.ts +135 -0
  327. package/dist/uni/chart-types.js +84 -0
  328. package/dist/uni/charts-canvas.d.ts +1 -0
  329. package/dist/uni/charts-canvas.js +8 -0
  330. package/dist/uni/index.d.ts +6 -0
  331. package/dist/uni/index.js +6 -0
  332. package/dist/weapp/bar-chart/index.js +1 -0
  333. package/dist/weapp/bar-chart/index.json +1 -0
  334. package/dist/weapp/bar-chart/index.wxml +1 -0
  335. package/dist/weapp/bar-chart/index.wxss +1 -0
  336. package/dist/weapp/chart/index.js +1 -0
  337. package/dist/weapp/chart/index.json +1 -0
  338. package/dist/weapp/chart/index.wxml +1 -0
  339. package/dist/weapp/chart/index.wxss +1 -0
  340. package/dist/weapp/controls.js +4019 -266
  341. package/dist/weapp/line-chart/index.js +1 -0
  342. package/dist/weapp/line-chart/index.json +1 -0
  343. package/dist/weapp/line-chart/index.wxml +1 -0
  344. package/dist/weapp/line-chart/index.wxss +1 -0
  345. package/dist/weapp/quadrant-chart/index.js +1 -0
  346. package/dist/weapp/quadrant-chart/index.json +1 -0
  347. package/dist/weapp/quadrant-chart/index.wxml +1 -0
  348. package/dist/weapp/quadrant-chart/index.wxss +1 -0
  349. package/dist/weapp/scatter-chart/index.js +1 -0
  350. package/dist/weapp/scatter-chart/index.json +1 -0
  351. package/dist/weapp/scatter-chart/index.wxml +1 -0
  352. package/dist/weapp/scatter-chart/index.wxss +1 -0
  353. package/dist/weapp/types.d.ts +295 -0
  354. package/package.json +48 -2
@@ -0,0 +1,566 @@
1
+ import { lowerBound as e } from "./data.js";
2
+ import { createBarHighlight as t, createChartDom as n, createDataCanvas as r, createMarker as i, styleElement as a, swatch as o } from "./dom.js";
3
+ import { buildItems as s } from "./items.js";
4
+ import { createScales as c } from "./layout.js";
5
+ import { buildModel as l } from "./model.js";
6
+ import { drawBackground as u, drawForeground as d, font as f } from "./overlay.js";
7
+ import { createRenderer as p } from "./renderers/detect.js";
8
+ import { collectPointLabels as m, hitTest as ee, hoverItemOf as te, hoverMarks as ne, layoutChart as re, pointOf as ie, resolveAnnotations as ae, sameHover as oe, showsCrosshair as se, tooltipContent as ce } from "./scene.js";
9
+ import { readTheme as le, watchTheme as ue } from "./theme.js";
10
+ import { clampRange as h, panRange as g, sameRange as _, wheelFactor as de, zoomRange as fe } from "./viewport.js";
11
+ //#region src/engine/chart.ts
12
+ var v = (e) => (e[0] + e[1]) / 2, y = (e) => ({
13
+ x: [e.x[0], e.x[1]],
14
+ y: [e.y[0], e.y[1]]
15
+ }), pe = (pe, me) => {
16
+ let b = pe.ownerDocument, x = b.defaultView, S = n(pe), he = /* @__PURE__ */ new Map(), C = /* @__PURE__ */ new Set(), w = {}, T = me, E = le(S.root, T.palette), D, O = {
17
+ x: [0, 1],
18
+ y: [0, 1]
19
+ }, k = !1, A = {
20
+ x: 0,
21
+ y: 0
22
+ }, ge = [], j = !0, _e = 0, ve = [], M = null, N = null, P = null, F = null, ye = 0, I = !1, L = 0, R = null, be = "", z = null, B = null, V = null, xe = [], Se = [], Ce = 0, we = "", Te = /* @__PURE__ */ new WeakMap(), Ee = 0, De = (e) => {
23
+ let t = Te.get(e);
24
+ return t === void 0 && Te.set(e, t = ++Ee), t;
25
+ }, Oe = () => {}, ke = new Promise((e) => {
26
+ Oe = e;
27
+ }), H = (e, t) => {
28
+ w[e]?.forEach((e) => e(t));
29
+ }, U = () => {
30
+ let e = T.interaction;
31
+ if (e === !1) return null;
32
+ let t = typeof e == "object" ? e : {};
33
+ return {
34
+ zoom: t.zoom ?? !0,
35
+ wheel: t.wheel ?? "modifier",
36
+ pan: t.pan ?? !0,
37
+ keyboard: t.keyboard ?? !0,
38
+ dragPoints: t.dragPoints ?? !1
39
+ };
40
+ }, Ae = () => T.tooltip === !1 ? null : typeof T.tooltip == "object" ? T.tooltip : {}, W = () => {
41
+ I || L || (L = x?.requestAnimationFrame ? x.requestAnimationFrame(Ie) : setTimeout(Ie, 16));
42
+ }, G = () => {
43
+ D = l(T, E, C, he);
44
+ let { base: e, zoom: t, minSpan: n } = D;
45
+ k ? (O = {
46
+ x: t.x ? h(O.x, e.x, n.x) : [...e.x],
47
+ y: t.y ? h(O.y, e.y, n.y) : [...e.y]
48
+ }, k = !_(O.x, e.x) || !_(O.y, e.y)) : O = y(e);
49
+ let r = [
50
+ Ce,
51
+ D.baseline,
52
+ e.x.join(),
53
+ e.y.join(),
54
+ ...D.series.map((e) => [
55
+ e.key,
56
+ e.type,
57
+ De(e.cols),
58
+ e.colorCss,
59
+ e.hidden,
60
+ e.lineWidth,
61
+ e.pointSize,
62
+ e.opacity,
63
+ e.barOffset,
64
+ e.barHalfWidth,
65
+ T.series[e.index].stack ?? ""
66
+ ].join("|"))
67
+ ].join("\n");
68
+ r !== we && (we = r, A = {
69
+ x: v(e.x),
70
+ y: v(e.y)
71
+ }, j = !0, R && !R.keyboard && (R = null)), ve = ae(T.annotations, E), Me(), Ne(), W();
72
+ }, je = () => {
73
+ let e = (e, t) => Math.max(Math.abs(e[0] - t), Math.abs(e[1] - t)) > (e[1] - e[0]) * 2e3;
74
+ (e(O.x, A.x) || e(O.y, A.y)) && (A = {
75
+ x: v(O.x),
76
+ y: v(O.y)
77
+ }, j = !0);
78
+ }, Me = () => {
79
+ let e = T.legend, t = T.series.filter((e) => e.name).length, n = e === void 0 ? t > 1 : !!e, r = typeof e == "object" ? e : {}, i = r.toggle ?? !0, s = [...S.legend.children].indexOf(b.activeElement);
80
+ if (S.legend.replaceChildren(), S.legend.style.display = n ? "flex" : "none", !n) return;
81
+ let c = r.position === "bottom";
82
+ S.legend.style.order = c ? "1" : "0", S.legend.style.padding = c ? "8px 4px 0" : "0 4px 8px";
83
+ for (let e of D.series) {
84
+ let t = b.createElement(i ? "button" : "span");
85
+ t instanceof HTMLButtonElement && (t.type = "button", t.setAttribute("aria-pressed", String(!e.hidden)), t.addEventListener("click", () => {
86
+ C.has(e.id) ? C.delete(e.id) : C.add(e.id), G();
87
+ })), a(t, {
88
+ display: "inline-flex",
89
+ alignItems: "center",
90
+ gap: "6px",
91
+ padding: "2px 4px",
92
+ margin: "0",
93
+ border: "0",
94
+ borderRadius: "4px",
95
+ background: "none",
96
+ font: "inherit",
97
+ color: "var(--text-secondary-color, #6b7280)",
98
+ cursor: i ? "pointer" : "default",
99
+ opacity: e.hidden ? "0.45" : "1",
100
+ textDecoration: e.hidden ? "line-through" : "none"
101
+ }), t.append(o(b, e.colorCss, e.type === "scatter" ? "dot" : e.type === "line" ? "line" : "square"), b.createTextNode(e.name)), S.legend.appendChild(t);
102
+ }
103
+ s >= 0 && S.legend.children[s]?.focus();
104
+ }, Ne = () => {
105
+ let e = D.series.map((e) => e.name).join(", ");
106
+ S.stage.setAttribute("aria-label", T.ariaLabel ?? (e ? `Chart: ${e}` : "Chart"));
107
+ let t = U()?.keyboard;
108
+ S.stage.style.touchAction = U()?.dragPoints ? "none" : "pan-y", t ? S.stage.tabIndex = 0 : S.stage.removeAttribute("tabindex");
109
+ }, Pe = (e, t, n, r) => {
110
+ let i = Math.max(1, Math.round(t * r)), a = Math.max(1, Math.round(n * r));
111
+ e.width !== i && (e.width = i), e.height !== a && (e.height = a), e.style.width = `${t}px`, e.style.height = `${n}px`;
112
+ }, Fe = (e, t, n) => {
113
+ let r = 2 / (e[1] - e[0]), i = (t - e[0]) * r - 1;
114
+ return n ? [-r, -i] : [r, i];
115
+ };
116
+ function Ie() {
117
+ if (L = 0, I) return;
118
+ let e = S.stage.clientWidth, t = S.stage.clientHeight;
119
+ if (e <= 0 || t <= 0) return;
120
+ let n = x?.devicePixelRatio || 1;
121
+ Pe(S.background, e, t, n), Pe(S.foreground, e, t, n);
122
+ let r = S.background.getContext("2d"), i = S.foreground.getContext("2d");
123
+ r && (r.setTransform(n, 0, 0, n, 0, 0), r.font = f(E));
124
+ let o = re({
125
+ model: D,
126
+ view: O,
127
+ theme: E,
128
+ width: e,
129
+ height: t,
130
+ padding: T.padding,
131
+ measure: r ? (e) => r.measureText(e).width : (e) => e.length * E.fontSize * .6
132
+ }), { plot: c } = o;
133
+ N = o.xTicks, P = o.yTicks, M = o.scales;
134
+ let l = Le();
135
+ if (l && l.join() !== be && (be = l.join(), H("layout", {
136
+ x: l[0],
137
+ y: l[1],
138
+ width: l[2],
139
+ height: l[3]
140
+ })), r && u(r, {
141
+ width: e,
142
+ height: t,
143
+ scales: M,
144
+ x: D.x,
145
+ y: D.y,
146
+ xTicks: N,
147
+ yTicks: P,
148
+ theme: E,
149
+ annotations: ve
150
+ }), i && (i.setTransform(n, 0, 0, n, 0, 0), d(i, {
151
+ width: e,
152
+ height: t,
153
+ scales: M,
154
+ theme: E,
155
+ annotations: ve,
156
+ pointLabels: m(D, O, M)
157
+ })), F) {
158
+ let e = F.canvas;
159
+ a(e, {
160
+ left: `${c.x}px`,
161
+ top: `${c.y}px`,
162
+ width: `${c.width}px`,
163
+ height: `${c.height}px`
164
+ });
165
+ let t = Math.max(1, Math.round(c.width * n)), r = Math.max(1, Math.round(c.height * n));
166
+ (e.width !== t || e.height !== r) && F.resize(t, r), je(), j && (_e++, ge = s(D, A, _e), j = !1);
167
+ let [i, o] = Fe(O.x, A.x, D.x.reverse), [l, u] = Fe(O.y, A.y, D.y.reverse);
168
+ F.render(ge, {
169
+ transform: {
170
+ xScale: i,
171
+ xOffset: o,
172
+ yScale: l,
173
+ yOffset: u
174
+ },
175
+ width: t,
176
+ height: r,
177
+ dpr: n
178
+ });
179
+ }
180
+ J();
181
+ }
182
+ let K = (e, t) => M ? ee(D, M, N, e, t) : null, Le = () => {
183
+ let e = M?.plot;
184
+ return e ? [
185
+ e.x + S.stage.offsetLeft,
186
+ e.y + S.stage.offsetTop,
187
+ e.width,
188
+ e.height
189
+ ] : null;
190
+ }, Re = (e, t) => U()?.dragPoints ? K(e, t)?.items.find((e) => D.series[e.seriesIndex].type === "scatter") ?? null : null, q = (e) => {
191
+ let t = !oe(R?.event ?? null, e?.event ?? null);
192
+ R = e, J(), t && H("hover", e ? e.event : null);
193
+ }, ze = (e) => {
194
+ let t = Ae()?.render;
195
+ if (t) return t(e);
196
+ let n = ce(D, e, P), r = b.createDocumentFragment(), i = b.createElement("div");
197
+ a(i, {
198
+ display: "flex",
199
+ alignItems: "center",
200
+ gap: "6px",
201
+ fontWeight: "600",
202
+ marginBottom: "4px",
203
+ color: "var(--text-color, #1f2937)"
204
+ }), n.titleColor && i.appendChild(o(b, n.titleColor, "dot")), i.appendChild(b.createTextNode(n.title)), r.append(i);
205
+ for (let e of n.rows) {
206
+ let t = b.createElement("div");
207
+ a(t, {
208
+ display: "flex",
209
+ alignItems: "center",
210
+ gap: "8px"
211
+ }), e.color && t.appendChild(o(b, e.color, "dot"));
212
+ let n = b.createElement("span");
213
+ a(n, {
214
+ flex: "1 1 auto",
215
+ color: "var(--text-secondary-color, #6b7280)"
216
+ }), n.textContent = e.name;
217
+ let i = b.createElement("span");
218
+ a(i, {
219
+ fontWeight: "600",
220
+ fontVariantNumeric: "tabular-nums",
221
+ marginLeft: "12px"
222
+ }), i.textContent = e.value, t.append(n, i), r.append(t);
223
+ }
224
+ return r;
225
+ }, Be = (e, t, n) => (e[t] || (e[t] = n(), S.hover.appendChild(e[t])), e[t].style.display = "block", e[t]);
226
+ function J() {
227
+ let e = M, n = 0, r = 0;
228
+ if (S.crosshair.style.display = "none", R && e) {
229
+ let { plot: o } = e;
230
+ if (S.hover.style.width = `${S.stage.clientWidth}px`, S.hover.style.height = `${S.stage.clientHeight}px`, se(D, R.event, T.crosshair)) {
231
+ let t = R.event.items[0], n = e.xToPx(t.x);
232
+ n >= o.x && n <= o.x + o.width && a(S.crosshair, {
233
+ display: "block",
234
+ left: `${Math.round(n)}px`,
235
+ top: `${o.y}px`,
236
+ height: `${o.height}px`
237
+ });
238
+ }
239
+ for (let o of ne(D, e, R.event)) {
240
+ if (o.kind === "bar") {
241
+ let e = Be(Se, r++, () => t(b));
242
+ a(e, {
243
+ left: `${o.x}px`,
244
+ top: `${o.y}px`,
245
+ width: `${o.width}px`,
246
+ height: `${o.height}px`
247
+ });
248
+ continue;
249
+ }
250
+ let e = Be(xe, n++, () => i(b));
251
+ a(e, {
252
+ left: `${o.x}px`,
253
+ top: `${o.y}px`,
254
+ width: `${o.size}px`,
255
+ height: `${o.size}px`,
256
+ background: o.color
257
+ });
258
+ }
259
+ }
260
+ for (let e = n; e < xe.length; e++) xe[e].style.display = "none";
261
+ for (let e = r; e < Se.length; e++) Se[e].style.display = "none";
262
+ let o = S.tooltip, s = R && e && Ae() && !V?.moved && !z?.moved ? ze(R.event) : null;
263
+ if (!R || s === null || s === "") {
264
+ o.style.display = "none";
265
+ return;
266
+ }
267
+ typeof s == "string" ? (o.textContent = s, o.style.whiteSpace = "pre") : (o.replaceChildren(s), o.style.whiteSpace = "nowrap"), o.style.display = "block";
268
+ let c = S.stage.clientWidth, l = S.stage.clientHeight, u = o.offsetWidth, d = o.offsetHeight, f = R.anchorX + 16;
269
+ f + u > c - 4 && (f = R.anchorX - 16 - u), f = Math.max(4, Math.min(f, c - u - 4));
270
+ let p = Math.max(4, Math.min(R.anchorY - d / 2, l - d - 4));
271
+ o.style.transform = `translate(${Math.round(f)}px, ${Math.round(p)}px)`;
272
+ }
273
+ let Y = (e, t) => {
274
+ let { base: n, minSpan: r } = D;
275
+ O = {
276
+ x: h(e.x, n.x, r.x),
277
+ y: h(e.y, n.y, r.y)
278
+ }, k = !_(O.x, n.x) || !_(O.y, n.y);
279
+ let i = U();
280
+ S.stage.style.cursor = k && i?.pan ? "grab" : "", t && H("zoom", y(O)), W();
281
+ }, Ve = (e, t, n) => {
282
+ let r = M;
283
+ if (!r) return;
284
+ let i = y(O);
285
+ D.zoom.x && (i.x = fe(O.x, r.pxToX(e), n)), D.zoom.y && (i.y = fe(O.y, r.pxToY(t), n)), Y(i, !0);
286
+ }, X = (e) => {
287
+ let t = S.stage.getBoundingClientRect();
288
+ return {
289
+ x: e.clientX - t.left,
290
+ y: e.clientY - t.top
291
+ };
292
+ }, Z = (e, t) => {
293
+ let n = M?.plot;
294
+ return !!n && e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
295
+ }, Q = (e, t) => {
296
+ let n = M;
297
+ if (!n) return null;
298
+ let { plot: r } = n, i = Math.max(r.x, Math.min(r.x + r.width, e)), a = Math.max(r.y, Math.min(r.y + r.height, t));
299
+ return {
300
+ x: n.pxToX(i),
301
+ y: n.pxToY(a)
302
+ };
303
+ }, He = (e, t, n) => {
304
+ if (n === null) {
305
+ B && (B.style.display = "none");
306
+ return;
307
+ }
308
+ B || (B = i(b), S.hover.appendChild(B));
309
+ let r = (D.series.find((e) => e.type === "scatter")?.pointSize ?? 8) + 8;
310
+ S.hover.style.width = `${S.stage.clientWidth}px`, S.hover.style.height = `${S.stage.clientHeight}px`, a(B, {
311
+ display: "block",
312
+ left: `${e}px`,
313
+ top: `${t}px`,
314
+ width: `${r}px`,
315
+ height: `${r}px`,
316
+ background: n
317
+ });
318
+ }, Ue = (e) => {
319
+ let { x: t, y: n } = X(e);
320
+ if (z && z.id === e.pointerId) {
321
+ if (!z.moved && Math.hypot(t - z.x, n - z.y) > 3 && (z.moved = !0, S.stage.setPointerCapture?.(e.pointerId), S.stage.style.cursor = "grabbing"), z.moved) {
322
+ let e = Q(t, n);
323
+ e && (He(t, n, z.item.color), J(), H("drag", {
324
+ item: z.item,
325
+ x: e.x,
326
+ y: e.y
327
+ }));
328
+ }
329
+ return;
330
+ }
331
+ if (V && V.id === e.pointerId) {
332
+ let r = t - V.x, i = n - V.y;
333
+ if (!V.moved && Math.hypot(r, i) > 3) {
334
+ let t = U();
335
+ k && t?.pan && (V.moved = !0, S.stage.setPointerCapture?.(e.pointerId), S.stage.style.cursor = "grabbing");
336
+ }
337
+ if (V.moved && M) {
338
+ let e = y(V.view);
339
+ D.zoom.x && (e.x = g(V.view.x, -r * M.xPerPx * (D.x.reverse ? -1 : 1))), D.zoom.y && (e.y = g(V.view.y, i * M.yPerPx * (D.y.reverse ? -1 : 1))), Y(e, !0);
340
+ return;
341
+ }
342
+ }
343
+ let r = K(t, n);
344
+ q(r ? {
345
+ event: r,
346
+ anchorX: t,
347
+ anchorY: n,
348
+ keyboard: !1
349
+ } : null), !V && U()?.dragPoints && (S.stage.style.cursor = Re(t, n) || k && U()?.pan ? "grab" : "");
350
+ }, We = (e) => {
351
+ if (e.button !== 0) return;
352
+ let { x: t, y: n } = X(e);
353
+ if (!Z(t, n)) return;
354
+ let r = Re(t, n);
355
+ if (r) {
356
+ z = {
357
+ id: e.pointerId,
358
+ item: r,
359
+ x: t,
360
+ y: n,
361
+ moved: !1
362
+ };
363
+ return;
364
+ }
365
+ V = {
366
+ id: e.pointerId,
367
+ x: t,
368
+ y: n,
369
+ view: y(O),
370
+ moved: !1
371
+ };
372
+ }, Ge = (e) => {
373
+ if (z && z.id === e.pointerId) {
374
+ let { item: t, moved: n } = z;
375
+ z = null, S.stage.hasPointerCapture?.(e.pointerId) && S.stage.releasePointerCapture(e.pointerId), He(0, 0, null);
376
+ let { x: r, y: i } = X(e);
377
+ if (S.stage.style.cursor = Re(r, i) ? "grab" : "", n) {
378
+ let n = Q(r, i);
379
+ n && e.type !== "pointercancel" && H("drop", {
380
+ item: t,
381
+ x: n.x,
382
+ y: n.y
383
+ }), J();
384
+ } else {
385
+ let e = K(r, i);
386
+ e && H("click", e);
387
+ }
388
+ return;
389
+ }
390
+ if (!V || V.id !== e.pointerId) return;
391
+ let t = V.moved;
392
+ if (V = null, S.stage.hasPointerCapture?.(e.pointerId) && S.stage.releasePointerCapture(e.pointerId), S.stage.style.cursor = k && U()?.pan ? "grab" : "", t) J();
393
+ else {
394
+ let { x: t, y: n } = X(e), r = K(t, n);
395
+ if (r) H("click", r);
396
+ else if (e.type !== "pointercancel" && Z(t, n)) {
397
+ let e = Q(t, n);
398
+ e && H("plotClick", e);
399
+ }
400
+ }
401
+ }, Ke = () => {
402
+ !V?.moved && !z?.moved && q(null);
403
+ }, qe = (e) => {
404
+ let t = U();
405
+ if (!t || t.zoom === !1 || !D.zoom.x && !D.zoom.y) return;
406
+ let { x: n, y: r } = X(e);
407
+ if (!Z(n, r)) return;
408
+ let i = e.ctrlKey || e.metaKey;
409
+ if (t.wheel === "always" || i) e.preventDefault(), Ve(n, r, de(e.deltaY, e.deltaMode, e.ctrlKey && !e.metaKey));
410
+ else if (k && D.zoom.x && M && Math.abs(e.deltaX) > Math.abs(e.deltaY)) {
411
+ e.preventDefault();
412
+ let t = y(O);
413
+ t.x = g(O.x, e.deltaX * M.xPerPx * (D.x.reverse ? -1 : 1)), Y(t, !0);
414
+ }
415
+ }, Je = (e) => {
416
+ let { x: t, y: n } = X(e);
417
+ U() && k && Z(t, n) && rt();
418
+ }, Ye = (t) => {
419
+ let n = M;
420
+ if (!n) return;
421
+ let r = R?.keyboard ? R.event.items[0] : null, i = (r && D.series[r.seriesIndex]) ?? D.series.find((e) => !e.hidden && e.cols.count > 0);
422
+ if (!i) return;
423
+ let { x: a, y: o, count: s } = i.cols, l;
424
+ for (r ? l = r.index + t : (l = i.cols.sorted ? e(a, s, O.x[0]) : 0, t < 0 && (l = i.cols.sorted ? e(a, s, O.x[1]) - 1 : s - 1)); l >= 0 && l < s && !Number.isFinite(o[l]);) l += t || 1;
425
+ if (l < 0 || l >= s) return;
426
+ let u = n;
427
+ if (D.zoom.x && (a[l] < O.x[0] || a[l] > O.x[1])) {
428
+ let e = O.x[1] - O.x[0];
429
+ Y({
430
+ x: [a[l] - e / 2, a[l] + e / 2],
431
+ y: O.y
432
+ }, !0), u = M = c(n.plot, O, D.x.reverse, D.y.reverse);
433
+ }
434
+ let d = ie(i, l, u), f = te(i, l), p = {
435
+ items: [f, ...D.tooltipMode === "axis" && i.type !== "scatter" ? (K(d.px, d.py)?.items ?? []).filter((e) => e.seriesIndex !== i.index) : []],
436
+ x: f.x,
437
+ xLabel: N?.formatValue(f.x) ?? String(f.x)
438
+ };
439
+ q({
440
+ event: p,
441
+ anchorX: d.px,
442
+ anchorY: d.py,
443
+ keyboard: !0
444
+ });
445
+ let m = f;
446
+ S.live.textContent = `${m.seriesName}: ${p.xLabel}, ${P?.formatValue(m.y) ?? m.y}${m.label ? ` (${m.label})` : ""}`;
447
+ }, Xe = (e) => {
448
+ if (!U()?.keyboard) return;
449
+ let t = () => {
450
+ let e = M?.plot;
451
+ return e ? [e.x + e.width / 2, e.y + e.height / 2] : [0, 0];
452
+ };
453
+ switch (e.key) {
454
+ case "ArrowRight":
455
+ case "ArrowLeft":
456
+ e.preventDefault(), Ye(e.key === "ArrowRight" === D.x.reverse ? -1 : 1);
457
+ break;
458
+ case "+":
459
+ case "=": {
460
+ if (!D.zoom.x && !D.zoom.y) return;
461
+ e.preventDefault();
462
+ let [n, r] = t();
463
+ Ve(n, r, .8);
464
+ break;
465
+ }
466
+ case "-":
467
+ case "_": {
468
+ if (!D.zoom.x && !D.zoom.y) return;
469
+ e.preventDefault();
470
+ let [n, r] = t();
471
+ Ve(n, r, 1.25);
472
+ break;
473
+ }
474
+ case "0":
475
+ e.preventDefault(), rt();
476
+ break;
477
+ case "Escape": R && (e.preventDefault(), q(null));
478
+ }
479
+ }, Ze = () => {
480
+ let e;
481
+ try {
482
+ e = S.stage.matches(":focus-visible");
483
+ } catch {
484
+ e = !0;
485
+ }
486
+ e && (S.stage.style.boxShadow = "0 0 0 2px var(--primary-color, #4f46e5)");
487
+ }, Qe = () => {
488
+ S.stage.style.boxShadow = "", R?.keyboard && q(null);
489
+ }, $ = S.stage;
490
+ $.addEventListener("pointermove", Ue), $.addEventListener("pointerdown", We), $.addEventListener("pointerup", Ge), $.addEventListener("pointercancel", Ge), $.addEventListener("pointerleave", Ke), $.addEventListener("wheel", qe, { passive: !1 }), $.addEventListener("dblclick", Je), $.addEventListener("keydown", Xe), $.addEventListener("focus", Ze), $.addEventListener("blur", Qe);
491
+ let $e = typeof ResizeObserver == "function" ? new ResizeObserver(() => W()) : null;
492
+ $e?.observe(S.stage);
493
+ let et = () => {
494
+ I || (E = le(S.root, T.palette), Ce++, G());
495
+ }, tt = ue(et), nt = async (e = /* @__PURE__ */ new Set()) => {
496
+ let t = ++ye, n = await p(T.renderer ?? "auto", () => r(b), (t) => {
497
+ I || F?.kind !== t || (F.destroy(), F.canvas.remove(), F = null, nt(/* @__PURE__ */ new Set([...e, t])));
498
+ }, e);
499
+ if (I || t !== ye) {
500
+ n?.destroy();
501
+ return;
502
+ }
503
+ F && (F.destroy(), F.canvas.remove()), F = n, n && (S.root.dataset.renderer = n.kind, S.stage.insertBefore(n.canvas, S.foreground), j = !0, H("renderer", n.kind)), Oe(n?.kind ?? null), W();
504
+ };
505
+ function rt() {
506
+ k && Y(y(D.base), !0);
507
+ }
508
+ return G(), nt(), {
509
+ setOptions(e) {
510
+ if (I) return;
511
+ let t = T;
512
+ T = e, (e.palette ?? []).join() !== (t.palette ?? []).join() && (E = le(S.root, e.palette), Ce++), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && nt(), G();
513
+ },
514
+ resize() {
515
+ W();
516
+ },
517
+ resetZoom: rt,
518
+ getView: () => y(O),
519
+ setView(e) {
520
+ I || Y({
521
+ x: e.x ?? O.x,
522
+ y: e.y ?? O.y
523
+ }, !1);
524
+ },
525
+ getRenderer: () => F?.kind ?? null,
526
+ getPlotRect() {
527
+ let e = Le();
528
+ return e ? {
529
+ x: e[0],
530
+ y: e[1],
531
+ width: e[2],
532
+ height: e[3]
533
+ } : null;
534
+ },
535
+ toPixel(e, t) {
536
+ return M ? {
537
+ x: M.xToPx(e) + S.stage.offsetLeft,
538
+ y: M.yToPx(t) + S.stage.offsetTop
539
+ } : null;
540
+ },
541
+ fromPixel(e, t) {
542
+ return M ? {
543
+ x: M.pxToX(e - S.stage.offsetLeft),
544
+ y: M.pxToY(t - S.stage.offsetTop)
545
+ } : null;
546
+ },
547
+ ready: ke,
548
+ refreshTheme: et,
549
+ on(e, t) {
550
+ let n = w[e];
551
+ return n || (n = /* @__PURE__ */ new Set(), w[e] = n), n.add(t), () => {
552
+ n.delete(t);
553
+ };
554
+ },
555
+ destroy() {
556
+ if (!I) {
557
+ I = !0, L && (x?.cancelAnimationFrame ? x.cancelAnimationFrame(L) : clearTimeout(L)), $e?.disconnect(), tt(), $.removeEventListener("wheel", qe), F?.destroy(), F = null, S.root.remove();
558
+ for (let e of Object.keys(w)) delete w[e];
559
+ }
560
+ }
561
+ };
562
+ };
563
+ //#endregion
564
+ export { pe as createChart };
565
+
566
+ //# sourceMappingURL=chart.js.map