q2-tecton-elements 1.35.2 → 1.37.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 (352) hide show
  1. package/dist/cjs/charting-d02cba1f.js.map +1 -1
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js +1 -1
  3. package/dist/cjs/{index-f6545293.js → index-6f9f259c.js} +12 -9
  4. package/dist/cjs/index-6f9f259c.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-calendar.cjs.entry.js +46 -3
  10. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  11. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-chart-donut.cjs.entry.js +12 -8
  19. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js +25 -6
  21. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  24. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -3
  27. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-editable-field.cjs.entry.js +34 -6
  29. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  30. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-input.cjs.entry.js +17 -10
  32. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  33. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-message.cjs.entry.js +14 -13
  35. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-pagination.cjs.entry.js +37 -11
  40. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  41. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  42. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  43. package/dist/cjs/q2-radio-group.cjs.entry.js +9 -1
  44. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/q2-radio.cjs.entry.js +12 -3
  46. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-section.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-select.cjs.entry.js +54 -5
  49. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  53. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  57. package/dist/cjs/q2-textarea.cjs.entry.js +13 -1
  58. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  59. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  60. package/dist/collection/collection-manifest.json +1 -1
  61. package/dist/collection/components/q2-action-sheet/styles.css +0 -8
  62. package/dist/collection/components/q2-calendar/index.js +120 -2
  63. package/dist/collection/components/q2-calendar/index.js.map +1 -1
  64. package/dist/collection/components/q2-chart-area/index.js +2 -2
  65. package/dist/collection/components/q2-chart-area/index.js.map +1 -1
  66. package/dist/collection/components/q2-chart-bar/index.js +2 -2
  67. package/dist/collection/components/q2-chart-bar/index.js.map +1 -1
  68. package/dist/collection/components/q2-chart-donut/index.js +13 -9
  69. package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
  70. package/dist/collection/components/q2-checkbox-group/index.js +45 -5
  71. package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
  72. package/dist/collection/components/q2-data-table/index.js +6 -6
  73. package/dist/collection/components/q2-data-table/styles.css +37 -36
  74. package/dist/collection/components/q2-dropdown/index.js +1 -1
  75. package/dist/collection/components/q2-dropdown/index.js.map +1 -1
  76. package/dist/collection/components/q2-dropdown/styles.css +4 -0
  77. package/dist/collection/components/q2-editable-field/index.js +96 -6
  78. package/dist/collection/components/q2-editable-field/index.js.map +1 -1
  79. package/dist/collection/components/q2-input/index.js +49 -11
  80. package/dist/collection/components/q2-input/index.js.map +1 -1
  81. package/dist/collection/components/q2-message/index.js +14 -13
  82. package/dist/collection/components/q2-message/index.js.map +1 -1
  83. package/dist/collection/components/q2-option-list/index.js +2 -2
  84. package/dist/collection/components/q2-pagination/index.js +60 -9
  85. package/dist/collection/components/q2-pagination/index.js.map +1 -1
  86. package/dist/collection/components/q2-pagination/styles.css +1 -0
  87. package/dist/collection/components/q2-pill/index.js +2 -2
  88. package/dist/collection/components/q2-pill/index.js.map +1 -1
  89. package/dist/collection/components/q2-radio/index.js +29 -3
  90. package/dist/collection/components/q2-radio/index.js.map +1 -1
  91. package/dist/collection/components/q2-radio-group/index.js +27 -0
  92. package/dist/collection/components/q2-radio-group/index.js.map +1 -1
  93. package/dist/collection/components/q2-select/index.js +127 -5
  94. package/dist/collection/components/q2-select/index.js.map +1 -1
  95. package/dist/collection/components/q2-stepper-pane/index.js +2 -2
  96. package/dist/collection/components/q2-tab-container/index.js +1 -1
  97. package/dist/collection/components/q2-tab-container/index.js.map +1 -1
  98. package/dist/collection/components/q2-textarea/index.js +37 -0
  99. package/dist/collection/components/q2-textarea/index.js.map +1 -1
  100. package/dist/collection/utils/charting.js.map +1 -1
  101. package/dist/collection/utils/index.js +8 -6
  102. package/dist/collection/utils/index.js.map +1 -1
  103. package/dist/components/charting.js.map +1 -1
  104. package/dist/components/index11.js +14 -13
  105. package/dist/components/index11.js.map +1 -1
  106. package/dist/components/index16.js +11 -8
  107. package/dist/components/index16.js.map +1 -1
  108. package/dist/components/index9.js +19 -10
  109. package/dist/components/index9.js.map +1 -1
  110. package/dist/components/q2-action-sheet.js +1 -1
  111. package/dist/components/q2-action-sheet.js.map +1 -1
  112. package/dist/components/q2-calendar.js +51 -4
  113. package/dist/components/q2-calendar.js.map +1 -1
  114. package/dist/components/q2-chart-area.js +1 -1
  115. package/dist/components/q2-chart-area.js.map +1 -1
  116. package/dist/components/q2-chart-bar.js +1 -1
  117. package/dist/components/q2-chart-bar.js.map +1 -1
  118. package/dist/components/q2-chart-donut.js +11 -7
  119. package/dist/components/q2-chart-donut.js.map +1 -1
  120. package/dist/components/q2-checkbox-group.js +26 -6
  121. package/dist/components/q2-checkbox-group.js.map +1 -1
  122. package/dist/components/q2-data-table.js +1 -1
  123. package/dist/components/q2-data-table.js.map +1 -1
  124. package/dist/components/q2-dropdown.js +2 -2
  125. package/dist/components/q2-dropdown.js.map +1 -1
  126. package/dist/components/q2-editable-field.js +39 -7
  127. package/dist/components/q2-editable-field.js.map +1 -1
  128. package/dist/components/q2-pagination.js +37 -10
  129. package/dist/components/q2-pagination.js.map +1 -1
  130. package/dist/components/q2-pill.js +2 -2
  131. package/dist/components/q2-pill.js.map +1 -1
  132. package/dist/components/q2-radio-group.js +10 -1
  133. package/dist/components/q2-radio-group.js.map +1 -1
  134. package/dist/components/q2-radio.js +13 -3
  135. package/dist/components/q2-radio.js.map +1 -1
  136. package/dist/components/q2-select.js +59 -6
  137. package/dist/components/q2-select.js.map +1 -1
  138. package/dist/components/q2-tab-container.js +1 -1
  139. package/dist/components/q2-tab-container.js.map +1 -1
  140. package/dist/components/q2-textarea.js +15 -2
  141. package/dist/components/q2-textarea.js.map +1 -1
  142. package/dist/docs.json +241 -9
  143. package/dist/esm/charting-2a73ba8e.js.map +1 -1
  144. package/dist/esm/click-elsewhere_2.entry.js +1 -1
  145. package/dist/esm/{index-35ff2881.js → index-74a659a5.js} +12 -9
  146. package/dist/esm/index-74a659a5.js.map +1 -0
  147. package/dist/esm/loader.js +1 -1
  148. package/dist/esm/q2-action-sheet.entry.js +2 -2
  149. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  150. package/dist/esm/q2-btn_2.entry.js +1 -1
  151. package/dist/esm/q2-calendar.entry.js +46 -3
  152. package/dist/esm/q2-calendar.entry.js.map +1 -1
  153. package/dist/esm/q2-card.entry.js +1 -1
  154. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  155. package/dist/esm/q2-carousel.entry.js +1 -1
  156. package/dist/esm/q2-chart-area.entry.js +2 -2
  157. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  158. package/dist/esm/q2-chart-bar.entry.js +2 -2
  159. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  160. package/dist/esm/q2-chart-donut.entry.js +12 -8
  161. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  162. package/dist/esm/q2-checkbox-group.entry.js +25 -6
  163. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  164. package/dist/esm/q2-checkbox.entry.js +1 -1
  165. package/dist/esm/q2-data-table.entry.js +2 -2
  166. package/dist/esm/q2-data-table.entry.js.map +1 -1
  167. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  168. package/dist/esm/q2-dropdown.entry.js +3 -3
  169. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  170. package/dist/esm/q2-editable-field.entry.js +34 -6
  171. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  172. package/dist/esm/q2-icon.entry.js +1 -1
  173. package/dist/esm/q2-input.entry.js +17 -10
  174. package/dist/esm/q2-input.entry.js.map +1 -1
  175. package/dist/esm/q2-loc.entry.js +1 -1
  176. package/dist/esm/q2-message.entry.js +14 -13
  177. package/dist/esm/q2-message.entry.js.map +1 -1
  178. package/dist/esm/q2-month-picker.entry.js +1 -1
  179. package/dist/esm/q2-optgroup_2.entry.js +1 -1
  180. package/dist/esm/q2-option-list.entry.js +1 -1
  181. package/dist/esm/q2-pagination.entry.js +37 -11
  182. package/dist/esm/q2-pagination.entry.js.map +1 -1
  183. package/dist/esm/q2-pill.entry.js +3 -3
  184. package/dist/esm/q2-pill.entry.js.map +1 -1
  185. package/dist/esm/q2-radio-group.entry.js +9 -1
  186. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  187. package/dist/esm/q2-radio.entry.js +12 -3
  188. package/dist/esm/q2-radio.entry.js.map +1 -1
  189. package/dist/esm/q2-section.entry.js +1 -1
  190. package/dist/esm/q2-select.entry.js +54 -5
  191. package/dist/esm/q2-select.entry.js.map +1 -1
  192. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  193. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  194. package/dist/esm/q2-stepper.entry.js +1 -1
  195. package/dist/esm/q2-tab-container.entry.js +2 -2
  196. package/dist/esm/q2-tab-container.entry.js.map +1 -1
  197. package/dist/esm/q2-tag.entry.js +1 -1
  198. package/dist/esm/q2-tecton-elements.js +1 -1
  199. package/dist/esm/q2-textarea.entry.js +13 -1
  200. package/dist/esm/q2-textarea.entry.js.map +1 -1
  201. package/dist/esm/q2-tooltip.entry.js +1 -1
  202. package/dist/q2-tecton-elements/{p-2b91b34e.entry.js → p-077107c1.entry.js} +2 -2
  203. package/dist/q2-tecton-elements/p-09d4b3d3.entry.js +2 -0
  204. package/dist/q2-tecton-elements/p-09d4b3d3.entry.js.map +1 -0
  205. package/dist/q2-tecton-elements/{p-b73e7870.entry.js → p-0d4aec6e.entry.js} +2 -2
  206. package/dist/q2-tecton-elements/p-1c993698.entry.js +2 -0
  207. package/dist/q2-tecton-elements/p-1c993698.entry.js.map +1 -0
  208. package/dist/q2-tecton-elements/{p-0c1b74e9.entry.js → p-252889b7.entry.js} +2 -2
  209. package/dist/q2-tecton-elements/p-252889b7.entry.js.map +1 -0
  210. package/dist/q2-tecton-elements/{p-d4da72f0.entry.js → p-25bd1b18.entry.js} +2 -2
  211. package/dist/q2-tecton-elements/p-25bd1b18.entry.js.map +1 -0
  212. package/dist/q2-tecton-elements/p-2a975246.entry.js +2 -0
  213. package/dist/q2-tecton-elements/p-2a975246.entry.js.map +1 -0
  214. package/dist/q2-tecton-elements/{p-55deaceb.entry.js → p-30facf35.entry.js} +2 -2
  215. package/dist/q2-tecton-elements/p-3798ad96.entry.js +2 -0
  216. package/dist/q2-tecton-elements/p-3798ad96.entry.js.map +1 -0
  217. package/dist/q2-tecton-elements/p-458b1987.js.map +1 -1
  218. package/dist/q2-tecton-elements/{p-2325975a.entry.js → p-46287c02.entry.js} +2 -2
  219. package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js → p-47c60d4a.entry.js} +2 -2
  220. package/dist/q2-tecton-elements/{p-6cc730db.entry.js → p-4abbd0b1.entry.js} +2 -2
  221. package/dist/q2-tecton-elements/{p-dafdb018.entry.js → p-570c1d3d.entry.js} +2 -2
  222. package/dist/q2-tecton-elements/p-570c1d3d.entry.js.map +1 -0
  223. package/dist/q2-tecton-elements/{p-4fb81d03.entry.js → p-578e3f98.entry.js} +2 -2
  224. package/dist/q2-tecton-elements/p-58cdb9c7.entry.js +2 -0
  225. package/dist/q2-tecton-elements/p-58cdb9c7.entry.js.map +1 -0
  226. package/dist/q2-tecton-elements/p-597f8656.entry.js +2 -0
  227. package/dist/q2-tecton-elements/p-597f8656.entry.js.map +1 -0
  228. package/dist/q2-tecton-elements/{p-ce27270b.entry.js → p-59d34a17.entry.js} +2 -2
  229. package/dist/q2-tecton-elements/{p-3c0d391b.entry.js → p-5bc4d94c.entry.js} +2 -2
  230. package/dist/q2-tecton-elements/{p-70a59bf1.entry.js → p-67f33354.entry.js} +2 -2
  231. package/dist/q2-tecton-elements/p-67f33354.entry.js.map +1 -0
  232. package/dist/q2-tecton-elements/{p-c9f32e51.entry.js → p-6cacc879.entry.js} +2 -2
  233. package/dist/q2-tecton-elements/{p-f637136f.entry.js → p-7366d36d.entry.js} +2 -2
  234. package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js → p-75fd6df5.entry.js} +2 -2
  235. package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js.map → p-75fd6df5.entry.js.map} +1 -1
  236. package/dist/q2-tecton-elements/{p-68371e6d.entry.js → p-8e7b762a.entry.js} +2 -2
  237. package/dist/q2-tecton-elements/{p-ece07c0d.entry.js → p-9a28b93a.entry.js} +2 -2
  238. package/dist/q2-tecton-elements/{p-d3827468.entry.js → p-9c9a2550.entry.js} +2 -2
  239. package/dist/q2-tecton-elements/p-9d743327.entry.js +2 -0
  240. package/dist/q2-tecton-elements/p-9d743327.entry.js.map +1 -0
  241. package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js → p-9ef2829e.entry.js} +2 -2
  242. package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js.map → p-9ef2829e.entry.js.map} +1 -1
  243. package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js → p-a52371cf.entry.js} +2 -2
  244. package/dist/q2-tecton-elements/{p-f11326c2.entry.js → p-a53e9f1e.entry.js} +2 -2
  245. package/dist/q2-tecton-elements/{p-586c8654.entry.js → p-a60f82c0.entry.js} +2 -2
  246. package/dist/q2-tecton-elements/p-a60f82c0.entry.js.map +1 -0
  247. package/dist/q2-tecton-elements/{p-f6be73b7.entry.js → p-ac82ea35.entry.js} +2 -2
  248. package/dist/q2-tecton-elements/{p-f6be73b7.entry.js.map → p-ac82ea35.entry.js.map} +1 -1
  249. package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js → p-bfd69d42.entry.js} +2 -2
  250. package/dist/q2-tecton-elements/{p-82bda2ff.entry.js → p-db6921fb.entry.js} +2 -2
  251. package/dist/q2-tecton-elements/{p-cfbd2cb1.entry.js → p-e45856f7.entry.js} +2 -2
  252. package/dist/q2-tecton-elements/p-e45856f7.entry.js.map +1 -0
  253. package/dist/q2-tecton-elements/{p-654987bf.entry.js → p-e8858d0d.entry.js} +2 -2
  254. package/dist/q2-tecton-elements/p-e8858d0d.entry.js.map +1 -0
  255. package/dist/q2-tecton-elements/{p-99ab3236.js → p-ef856249.js} +2 -2
  256. package/dist/q2-tecton-elements/p-ef856249.js.map +1 -0
  257. package/dist/q2-tecton-elements/{p-073df9e2.entry.js → p-efbe6c17.entry.js} +2 -2
  258. package/dist/q2-tecton-elements/p-efbe6c17.entry.js.map +1 -0
  259. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  260. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  261. package/dist/test/elements/q2-calendar-test.e2e.js +177 -0
  262. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  263. package/dist/test/elements/q2-chart-area-test.e2e.js +30 -1
  264. package/dist/test/elements/q2-chart-area-test.e2e.js.map +1 -1
  265. package/dist/test/elements/q2-chart-bar-test.e2e.js +30 -1
  266. package/dist/test/elements/q2-chart-bar-test.e2e.js.map +1 -1
  267. package/dist/test/elements/q2-chart-donut-test.e2e.js +21 -18
  268. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  269. package/dist/test/elements/q2-checkbox-group-test.e2e.js +138 -18
  270. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  271. package/dist/test/elements/q2-checkbox-test.e2e.js +143 -115
  272. package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
  273. package/dist/test/elements/q2-dropdown-test.e2e.js +28 -0
  274. package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
  275. package/dist/test/elements/q2-editable-field-test.e2e.js +149 -28
  276. package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
  277. package/dist/test/elements/q2-input-test.e2e.js +150 -9
  278. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  279. package/dist/test/elements/q2-message-test.e2e.js +38 -1
  280. package/dist/test/elements/q2-message-test.e2e.js.map +1 -1
  281. package/dist/test/elements/q2-pill-test.e2e.js +37 -1
  282. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  283. package/dist/test/elements/q2-radio-group-test.e2e.js +148 -186
  284. package/dist/test/elements/q2-radio-group-test.e2e.js.map +1 -1
  285. package/dist/test/elements/q2-radio-test.e2e.js +100 -15
  286. package/dist/test/elements/q2-radio-test.e2e.js.map +1 -1
  287. package/dist/test/elements/q2-select-test.e2e.js +203 -0
  288. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  289. package/dist/test/elements/q2-tag-test.e2e.js +5 -0
  290. package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
  291. package/dist/test/elements/q2-textarea-test.e2e.js +33 -1
  292. package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
  293. package/dist/types/components/q2-calendar/index.d.ts +8 -1
  294. package/dist/types/components/q2-chart-area/index.d.ts +1 -1
  295. package/dist/types/components/q2-chart-bar/index.d.ts +1 -1
  296. package/dist/types/components/q2-chart-donut/index.d.ts +2 -5
  297. package/dist/types/components/q2-checkbox-group/index.d.ts +3 -0
  298. package/dist/types/components/q2-editable-field/index.d.ts +10 -2
  299. package/dist/types/components/q2-input/index.d.ts +2 -0
  300. package/dist/types/components/q2-message/index.d.ts +1 -0
  301. package/dist/types/components/q2-pagination/index.d.ts +4 -0
  302. package/dist/types/components/q2-radio/index.d.ts +1 -0
  303. package/dist/types/components/q2-radio-group/index.d.ts +1 -0
  304. package/dist/types/components/q2-select/index.d.ts +9 -1
  305. package/dist/types/components/q2-textarea/index.d.ts +2 -0
  306. package/dist/types/components.d.ts +23 -4
  307. package/dist/types/utils/charting.d.ts +0 -6
  308. package/package.json +3 -3
  309. package/dist/cjs/index-f6545293.js.map +0 -1
  310. package/dist/esm/index-35ff2881.js.map +0 -1
  311. package/dist/q2-tecton-elements/p-073df9e2.entry.js.map +0 -1
  312. package/dist/q2-tecton-elements/p-0c1b74e9.entry.js.map +0 -1
  313. package/dist/q2-tecton-elements/p-215d5ab4.entry.js +0 -2
  314. package/dist/q2-tecton-elements/p-215d5ab4.entry.js.map +0 -1
  315. package/dist/q2-tecton-elements/p-2987498c.entry.js +0 -2
  316. package/dist/q2-tecton-elements/p-2987498c.entry.js.map +0 -1
  317. package/dist/q2-tecton-elements/p-57838409.entry.js +0 -2
  318. package/dist/q2-tecton-elements/p-57838409.entry.js.map +0 -1
  319. package/dist/q2-tecton-elements/p-586c8654.entry.js.map +0 -1
  320. package/dist/q2-tecton-elements/p-654987bf.entry.js.map +0 -1
  321. package/dist/q2-tecton-elements/p-70a59bf1.entry.js.map +0 -1
  322. package/dist/q2-tecton-elements/p-7a6e33d4.entry.js +0 -2
  323. package/dist/q2-tecton-elements/p-7a6e33d4.entry.js.map +0 -1
  324. package/dist/q2-tecton-elements/p-99ab3236.js.map +0 -1
  325. package/dist/q2-tecton-elements/p-ae2fa966.entry.js +0 -2
  326. package/dist/q2-tecton-elements/p-ae2fa966.entry.js.map +0 -1
  327. package/dist/q2-tecton-elements/p-b8d1c16f.entry.js +0 -2
  328. package/dist/q2-tecton-elements/p-b8d1c16f.entry.js.map +0 -1
  329. package/dist/q2-tecton-elements/p-cfbd2cb1.entry.js.map +0 -1
  330. package/dist/q2-tecton-elements/p-d4da72f0.entry.js.map +0 -1
  331. package/dist/q2-tecton-elements/p-dafdb018.entry.js.map +0 -1
  332. package/dist/q2-tecton-elements/p-deb1e1c8.entry.js +0 -2
  333. package/dist/q2-tecton-elements/p-deb1e1c8.entry.js.map +0 -1
  334. /package/dist/q2-tecton-elements/{p-2b91b34e.entry.js.map → p-077107c1.entry.js.map} +0 -0
  335. /package/dist/q2-tecton-elements/{p-b73e7870.entry.js.map → p-0d4aec6e.entry.js.map} +0 -0
  336. /package/dist/q2-tecton-elements/{p-55deaceb.entry.js.map → p-30facf35.entry.js.map} +0 -0
  337. /package/dist/q2-tecton-elements/{p-2325975a.entry.js.map → p-46287c02.entry.js.map} +0 -0
  338. /package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js.map → p-47c60d4a.entry.js.map} +0 -0
  339. /package/dist/q2-tecton-elements/{p-6cc730db.entry.js.map → p-4abbd0b1.entry.js.map} +0 -0
  340. /package/dist/q2-tecton-elements/{p-4fb81d03.entry.js.map → p-578e3f98.entry.js.map} +0 -0
  341. /package/dist/q2-tecton-elements/{p-ce27270b.entry.js.map → p-59d34a17.entry.js.map} +0 -0
  342. /package/dist/q2-tecton-elements/{p-3c0d391b.entry.js.map → p-5bc4d94c.entry.js.map} +0 -0
  343. /package/dist/q2-tecton-elements/{p-c9f32e51.entry.js.map → p-6cacc879.entry.js.map} +0 -0
  344. /package/dist/q2-tecton-elements/{p-f637136f.entry.js.map → p-7366d36d.entry.js.map} +0 -0
  345. /package/dist/q2-tecton-elements/{p-68371e6d.entry.js.map → p-8e7b762a.entry.js.map} +0 -0
  346. /package/dist/q2-tecton-elements/{p-ece07c0d.entry.js.map → p-9a28b93a.entry.js.map} +0 -0
  347. /package/dist/q2-tecton-elements/{p-d3827468.entry.js.map → p-9c9a2550.entry.js.map} +0 -0
  348. /package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js.map → p-a52371cf.entry.js.map} +0 -0
  349. /package/dist/q2-tecton-elements/{p-f11326c2.entry.js.map → p-a53e9f1e.entry.js.map} +0 -0
  350. /package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js.map → p-bfd69d42.entry.js.map} +0 -0
  351. /package/dist/q2-tecton-elements/{p-82bda2ff.entry.js.map → p-db6921fb.entry.js.map} +0 -0
  352. /package/dist/types/workspace/workspace/{tecton-production_release_1.35.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"file":"charting-d02cba1f.js","mappings":"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","names":["createHashMap","SINGLE_REFERRING","each","CoordinateSystem","zrUtil.map","getDimensionTypeByAxis","zrUtil.each","createSourceFromSeriesDataOption","SOURCE_FORMAT_ORIGINAL","zrUtil.isFunction","zrUtil.curry","makeSeriesEncodeForAxisCoordSys","prepareSeriesDataSchema","enableDataStack","SeriesData","zrUtil.isArray","getDataItemValue","inner","makeInner","getOptionCategoryInterval","makeLabelFormatter","textContain.getBoundingRect","shouldShowAllLabels","getPixelPrecision","linearMap","map","round","__extends","ComponentModel","zrUtil.mixin","zrUtil.merge","zrUtil.defaults","merge","fetchLayoutMode","getLayoutParams","mergeLayoutParam","OrdinalMeta","zrUtil.filter","invert","BoundingRect","applyTransform","IntervalScale","getScaleExtent","increaseInterval","keys","isIntervalOrLogScale","niceScaleExtent","getLayoutRect","estimateLabelUnionRect","isObject","indexOf","createScaleByModel","isCartesian2DSeries","findAxisModels","getDataDimensionsOnAxis","ifAxisCrossZero","zrUtil.createHashMap","graphic.Rect","graphic.Group","cartesianAxisHelper.layout","AxisBuilder","zrUtil.extend","graphic.groupTransition","AxisView","graphic.Line","graphic.subPixelOptimizeLine","Rect","defaults","ComponentView","install","use","installSimple","installAxisPointer","zrUtil.retrieve2","graphic.Text","createTextStyle","windowOpen","getECData","retrieveRawValue","isArray","isFunction","graphic.initProps","graphic.Sector","isString"],"sources":["../../node_modules/echarts/lib/model/referHelper.js","../../node_modules/echarts/lib/chart/helper/createSeriesData.js","../../node_modules/echarts/lib/coord/axisModelCommonMixin.js","../../node_modules/echarts/lib/coord/axisTickLabelBuilder.js","../../node_modules/echarts/lib/coord/Axis.js","../../node_modules/echarts/lib/coord/cartesian/GridModel.js","../../node_modules/echarts/lib/coord/cartesian/AxisModel.js","../../node_modules/echarts/lib/coord/axisDefault.js","../../node_modules/echarts/lib/coord/axisCommonTypes.js","../../node_modules/echarts/lib/coord/axisModelCreator.js","../../node_modules/echarts/lib/coord/cartesian/Cartesian.js","../../node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","../../node_modules/echarts/lib/coord/cartesian/Axis2D.js","../../node_modules/echarts/lib/coord/axisAlignTicks.js","../../node_modules/echarts/lib/coord/cartesian/Grid.js","../../node_modules/echarts/lib/component/axis/axisSplitHelper.js","../../node_modules/echarts/lib/component/axis/CartesianAxisView.js","../../node_modules/echarts/lib/component/grid/installSimple.js","../../node_modules/echarts/lib/component/grid/install.js","../../node_modules/echarts/lib/component/title/install.js","../../node_modules/echarts/lib/chart/helper/labelHelper.js","../../node_modules/echarts/lib/coord/CoordinateSystem.js","../../node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","../../node_modules/echarts/lib/processor/dataSample.js","./src/utils/charting.tsx"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Helper for model references.\n * There are many manners to refer axis/coordSys.\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\nimport { createHashMap, retrieve, each } from 'zrender/lib/core/util.js';\nimport { SINGLE_REFERRING } from '../util/model.js';\n/**\n * @class\n * For example:\n * {\n * coordSysName: 'cartesian2d',\n * coordSysDims: ['x', 'y', ...],\n * axisMap: HashMap({\n * x: xAxisModel,\n * y: yAxisModel\n * }),\n * categoryAxisMap: HashMap({\n * x: xAxisModel,\n * y: undefined\n * }),\n * // The index of the first category axis in `coordSysDims`.\n * // `null/undefined` means no category axis exists.\n * firstCategoryDimIndex: 1,\n * // To replace user specified encode.\n * }\n */\n\nvar CoordSysInfo =\n/** @class */\nfunction () {\n function CoordSysInfo(coordSysName) {\n this.coordSysDims = [];\n this.axisMap = createHashMap();\n this.categoryAxisMap = createHashMap();\n this.coordSysName = coordSysName;\n }\n\n return CoordSysInfo;\n}();\n\nexport function getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\n\n if (fetch) {\n fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n return result;\n }\n}\nvar fetchers = {\n cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n var xAxisModel = seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!xAxisModel) {\n throw new Error('xAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('xAxisId'), 0) + '\" not found');\n }\n\n if (!yAxisModel) {\n throw new Error('yAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('yAxisId'), 0) + '\" not found');\n }\n }\n\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(yAxisModel)) {\n categoryAxisMap.set('y', yAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n var singleAxisModel = seriesModel.getReferringComponents('singleAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!singleAxisModel) {\n throw new Error('singleAxis should be specified.');\n }\n }\n\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\n\n if (isCategory(singleAxisModel)) {\n categoryAxisMap.set('single', singleAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n },\n polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n var polarModel = seriesModel.getReferringComponents('polar', SINGLE_REFERRING).models[0];\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n\n if (process.env.NODE_ENV !== 'production') {\n if (!angleAxisModel) {\n throw new Error('angleAxis option not found');\n }\n\n if (!radiusAxisModel) {\n throw new Error('radiusAxis option not found');\n }\n }\n\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(angleAxisModel)) {\n categoryAxisMap.set('angle', angleAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n result.coordSysDims = ['lng', 'lat'];\n },\n parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n var ecModel = seriesModel.ecModel;\n var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n each(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n var axisDim = coordSysDims[index];\n axisMap.set(axisDim, axisModel);\n\n if (isCategory(axisModel)) {\n categoryAxisMap.set(axisDim, axisModel);\n\n if (result.firstCategoryDimIndex == null) {\n result.firstCategoryDimIndex = index;\n }\n }\n });\n }\n};\n\nfunction isCategory(axisModel) {\n return axisModel.get('type') === 'category';\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport SeriesData from '../../data/SeriesData.js';\nimport prepareSeriesDataSchema from '../../data/helper/createDimensions.js';\nimport { getDimensionTypeByAxis } from '../../data/helper/dimensionHelper.js';\nimport { getDataItemValue } from '../../util/model.js';\nimport CoordinateSystem from '../../core/CoordinateSystem.js';\nimport { getCoordSysInfoBySeries } from '../../model/referHelper.js';\nimport { createSourceFromSeriesDataOption } from '../../data/Source.js';\nimport { enableDataStack } from '../../data/helper/dataStackHelper.js';\nimport { makeSeriesEncodeForAxisCoordSys } from '../../data/helper/sourceHelper.js';\nimport { SOURCE_FORMAT_ORIGINAL } from '../../util/types.js';\n\nfunction getCoordSysDimDefs(seriesModel, coordSysInfo) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDimDefs;\n\n if (coordSysInfo && coordSysInfo.coordSysDims) {\n coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysInfo.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n return coordSysDimDefs;\n}\n\nfunction injectOrdinalMeta(dimInfoList, createInvertedIndices, coordSysInfo) {\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n\n if (createInvertedIndices) {\n dimInfo.createInvertedIndices = true;\n }\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n return firstCategoryDimIndex;\n}\n/**\n * Caution: there are side effects to `sourceManager` in this method.\n * Should better only be called in `Series['getInitialData']`.\n */\n\n\nfunction createSeriesData(sourceRaw, seriesModel, opt) {\n opt = opt || {};\n var sourceManager = seriesModel.getSourceManager();\n var source;\n var isOriginalSource = false;\n\n if (sourceRaw) {\n isOriginalSource = true;\n source = createSourceFromSeriesDataOption(sourceRaw);\n } else {\n source = sourceManager.getSource(); // Is series.data. not dataset.\n\n isOriginalSource = source.sourceFormat === SOURCE_FORMAT_ORIGINAL;\n }\n\n var coordSysInfo = getCoordSysInfoBySeries(seriesModel);\n var coordSysDimDefs = getCoordSysDimDefs(seriesModel, coordSysInfo);\n var useEncodeDefaulter = opt.useEncodeDefaulter;\n var encodeDefaulter = zrUtil.isFunction(useEncodeDefaulter) ? useEncodeDefaulter : useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null;\n var createDimensionOptions = {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord,\n encodeDefine: seriesModel.getEncode(),\n encodeDefaulter: encodeDefaulter,\n canOmitUnusedDimensions: !isOriginalSource\n };\n var schema = prepareSeriesDataSchema(source, createDimensionOptions);\n var firstCategoryDimIndex = injectOrdinalMeta(schema.dimensions, opt.createInvertedIndices, coordSysInfo);\n var store = !isOriginalSource ? sourceManager.getSharedDataStore(schema) : null;\n var stackCalculationInfo = enableDataStack(seriesModel, {\n schema: schema,\n store: store\n });\n var data = new SeriesData(schema, seriesModel);\n data.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n data.hasItemOption = false;\n data.initData( // Try to reuse the data store in sourceManager if using dataset.\n isOriginalSource ? source : store, null, dimValueGetter);\n return data;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(arr) {\n var i = 0;\n\n while (i < arr.length && arr[i] == null) {\n i++;\n }\n\n return arr[i];\n}\n\nexport default createSeriesData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar AxisModelCommonMixin =\n/** @class */\nfunction () {\n function AxisModelCommonMixin() {}\n\n AxisModelCommonMixin.prototype.getNeedCrossZero = function () {\n var option = this.option;\n return !option.scale;\n };\n /**\n * Should be implemented by each axis model if necessary.\n * @return coordinate system model\n */\n\n\n AxisModelCommonMixin.prototype.getCoordSysModel = function () {\n return;\n };\n\n return AxisModelCommonMixin;\n}();\n\nexport { AxisModelCommonMixin };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as textContain from 'zrender/lib/contain/text.js';\nimport { makeInner } from '../util/model.js';\nimport { makeLabelFormatter, getOptionCategoryInterval, shouldShowAllLabels } from './axisHelper.js';\nvar inner = makeInner();\nexport function createAxisLabels(axis) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\n * @param {module:echats/coord/Axis} axis\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\n * @return {Object} {\n * ticks: Array.<number>\n * tickCategoryInterval: number\n * }\n */\n\nexport function createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: zrUtil.map(axis.scale.getTicks(), function (tick) {\n return tick.value;\n })\n };\n}\n\nfunction makeCategoryLabels(axis) {\n var labelModel = axis.getLabelModel();\n var result = makeCategoryLabelsActually(axis, labelModel);\n return !labelModel.get('show') || axis.scale.isBlank() ? {\n labels: [],\n labelCategoryInterval: result.labelCategoryInterval\n } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n var labelsCache = getListCache(axis, 'labels');\n var optionLabelInterval = getOptionCategoryInterval(labelModel);\n var result = listCacheGet(labelsCache, optionLabelInterval);\n\n if (result) {\n return result;\n }\n\n var labels;\n var numericLabelInterval;\n\n if (zrUtil.isFunction(optionLabelInterval)) {\n labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n } else {\n numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n } // Cache to avoid calling interval function repeatedly.\n\n\n return listCacheSet(labelsCache, optionLabelInterval, {\n labels: labels,\n labelCategoryInterval: numericLabelInterval\n });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n var ticksCache = getListCache(axis, 'ticks');\n var optionTickInterval = getOptionCategoryInterval(tickModel);\n var result = listCacheGet(ticksCache, optionTickInterval);\n\n if (result) {\n return result;\n }\n\n var ticks;\n var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n // we should not return all ticks.\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n ticks = [];\n }\n\n if (zrUtil.isFunction(optionTickInterval)) {\n ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n } // Always use label interval by default despite label show. Consider this\n // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n // labels. `splitLine` and `axisTick` should be consistent in this case.\n else if (optionTickInterval === 'auto') {\n var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n tickCategoryInterval = labelsResult.labelCategoryInterval;\n ticks = zrUtil.map(labelsResult.labels, function (labelItem) {\n return labelItem.tickValue;\n });\n } else {\n tickCategoryInterval = optionTickInterval;\n ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n } // Cache to avoid calling interval function repeatedly.\n\n\n return listCacheSet(ticksCache, optionTickInterval, {\n ticks: ticks,\n tickCategoryInterval: tickCategoryInterval\n });\n}\n\nfunction makeRealNumberLabels(axis) {\n var ticks = axis.scale.getTicks();\n var labelFormatter = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tick, idx) {\n return {\n level: tick.level,\n formattedLabel: labelFormatter(tick, idx),\n rawLabel: axis.scale.getLabel(tick),\n tickValue: tick.value\n };\n })\n };\n}\n\nfunction getListCache(axis, prop) {\n // Because key can be a function, and cache size always is small, we use array cache.\n return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].key === key) {\n return cache[i].value;\n }\n }\n}\n\nfunction listCacheSet(cache, key, value) {\n cache.push({\n key: key,\n value: value\n });\n return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n var result = inner(axis).autoInterval;\n return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\n * Calculate interval for category axis ticks and labels.\n * To get precise result, at least one of `getRotate` and `isHorizontal`\n * should be implemented in axis.\n */\n\n\nexport function calculateCategoryInterval(axis) {\n var params = fetchAutoCategoryIntervalCalculationParams(axis);\n var labelFormatter = makeLabelFormatter(axis);\n var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n if (tickCount > 40) {\n step = Math.max(1, Math.floor(tickCount / 40));\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitW = Math.abs(unitSpan * Math.cos(rotation));\n var unitH = Math.abs(unitSpan * Math.sin(rotation));\n var maxW = 0;\n var maxH = 0; // Caution: Performance sensitive for large category data.\n // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n var width = 0;\n var height = 0; // Not precise, do not consider align and vertical align\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(labelFormatter({\n value: tickValue\n }), params.font, 'center', 'top'); // Magic number\n\n width = rect.width * 1.3;\n height = rect.height * 1.3; // Min size, void long loop.\n\n maxW = Math.max(maxW, width, 7);\n maxH = Math.max(maxH, height, 7);\n }\n\n var dw = maxW / unitW;\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dw) && (dw = Infinity);\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n var cache = inner(axis.model);\n var axisExtent = axis.getExtent();\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n // The jitter will cause that sometimes the displayed labels are\n // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n // be used. Otherwise some hidden labels might not be shown again.\n && cache.axisExtent0 === axisExtent[0] && cache.axisExtent1 === axisExtent[1]) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n cache.axisExtent0 = axisExtent[0];\n cache.axisExtent1 = axisExtent[1];\n }\n\n return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n var labelModel = axis.getLabelModel();\n return {\n axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n labelRotate: labelModel.get('rotate') || 0,\n font: labelModel.getFont()\n };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n var labelFormatter = makeLabelFormatter(axis);\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent();\n var labelModel = axis.getLabelModel();\n var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n var step = Math.max((categoryInterval || 0) + 1, 1);\n var startTick = ordinalExtent[0];\n var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n // while zooming and moving while interval > 0. Otherwise the selection\n // of displayable ticks and symbols probably keep changing.\n // 3 is empirical value.\n\n if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n startTick = Math.round(Math.ceil(startTick / step) * step);\n } // (1) Only add min max label here but leave overlap checking\n // to render stage, which also ensure the returned list\n // suitable for splitLine and splitArea rendering.\n // (2) Scales except category always contain min max label so\n // do not need to perform this process.\n\n\n var showAllLabel = shouldShowAllLabels(axis);\n var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n if (includeMinLabel && startTick !== ordinalExtent[0]) {\n addItem(ordinalExtent[0]);\n } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n var tickValue = startTick;\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n addItem(tickValue);\n }\n\n if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n addItem(ordinalExtent[1]);\n }\n\n function addItem(tickValue) {\n var tickObj = {\n value: tickValue\n };\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickObj),\n rawLabel: ordinalScale.getLabel(tickObj),\n tickValue: tickValue\n });\n }\n\n return result;\n}\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tick) {\n var rawLabel = ordinalScale.getLabel(tick);\n var tickValue = tick.value;\n\n if (categoryInterval(tick.value, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tick),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { each, map } from 'zrender/lib/core/util.js';\nimport { linearMap, getPixelPrecision, round } from '../util/number.js';\nimport { createAxisTicks, createAxisLabels, calculateCategoryInterval } from './axisTickLabelBuilder.js';\nvar NORMALIZED_EXTENT = [0, 1];\n/**\n * Base class of Axis.\n */\n\nvar Axis =\n/** @class */\nfunction () {\n function Axis(dim, scale, extent) {\n this.onBand = false;\n this.inverse = false;\n this.dim = dim;\n this.scale = scale;\n this._extent = extent || [0, 0];\n }\n /**\n * If axis extent contain given coord\n */\n\n\n Axis.prototype.contain = function (coord) {\n var extent = this._extent;\n var min = Math.min(extent[0], extent[1]);\n var max = Math.max(extent[0], extent[1]);\n return coord >= min && coord <= max;\n };\n /**\n * If axis extent contain given data\n */\n\n\n Axis.prototype.containData = function (data) {\n return this.scale.contain(data);\n };\n /**\n * Get coord extent.\n */\n\n\n Axis.prototype.getExtent = function () {\n return this._extent.slice();\n };\n /**\n * Get precision used for formatting\n */\n\n\n Axis.prototype.getPixelPrecision = function (dataExtent) {\n return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);\n };\n /**\n * Set coord extent\n */\n\n\n Axis.prototype.setExtent = function (start, end) {\n var extent = this._extent;\n extent[0] = start;\n extent[1] = end;\n };\n /**\n * Convert data to coord. Data is the rank if it has an ordinal scale\n */\n\n\n Axis.prototype.dataToCoord = function (data, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n data = scale.normalize(data);\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n return linearMap(data, NORMALIZED_EXTENT, extent, clamp);\n };\n /**\n * Convert coord to data. Data is the rank if it has an ordinal scale\n */\n\n\n Axis.prototype.coordToData = function (coord, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n var t = linearMap(coord, extent, NORMALIZED_EXTENT, clamp);\n return this.scale.scale(t);\n };\n /**\n * Convert pixel point to data in axis\n */\n\n\n Axis.prototype.pointToData = function (point, clamp) {\n // Should be implemented in derived class if necessary.\n return;\n };\n /**\n * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,\n * `axis.getTicksCoords` considers `onBand`, which is used by\n * `boundaryGap:true` of category axis and splitLine and splitArea.\n * @param opt.tickModel default: axis.model.getModel('axisTick')\n * @param opt.clamp If `true`, the first and the last\n * tick must be at the axis end points. Otherwise, clip ticks\n * that outside the axis extent.\n */\n\n\n Axis.prototype.getTicksCoords = function (opt) {\n opt = opt || {};\n var tickModel = opt.tickModel || this.getTickModel();\n var result = createAxisTicks(this, tickModel);\n var ticks = result.ticks;\n var ticksCoords = map(ticks, function (tickVal) {\n return {\n coord: this.dataToCoord(this.scale.type === 'ordinal' ? this.scale.getRawOrdinalNumber(tickVal) : tickVal),\n tickValue: tickVal\n };\n }, this);\n var alignWithLabel = tickModel.get('alignWithLabel');\n fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);\n return ticksCoords;\n };\n\n Axis.prototype.getMinorTicksCoords = function () {\n if (this.scale.type === 'ordinal') {\n // Category axis doesn't support minor ticks\n return [];\n }\n\n var minorTickModel = this.model.getModel('minorTick');\n var splitNumber = minorTickModel.get('splitNumber'); // Protection.\n\n if (!(splitNumber > 0 && splitNumber < 100)) {\n splitNumber = 5;\n }\n\n var minorTicks = this.scale.getMinorTicks(splitNumber);\n var minorTicksCoords = map(minorTicks, function (minorTicksGroup) {\n return map(minorTicksGroup, function (minorTick) {\n return {\n coord: this.dataToCoord(minorTick),\n tickValue: minorTick\n };\n }, this);\n }, this);\n return minorTicksCoords;\n };\n\n Axis.prototype.getViewLabels = function () {\n return createAxisLabels(this).labels;\n };\n\n Axis.prototype.getLabelModel = function () {\n return this.model.getModel('axisLabel');\n };\n /**\n * Notice here we only get the default tick model. For splitLine\n * or splitArea, we should pass the splitLineModel or splitAreaModel\n * manually when calling `getTicksCoords`.\n * In GL, this method may be overridden to:\n * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`\n */\n\n\n Axis.prototype.getTickModel = function () {\n return this.model.getModel('axisTick');\n };\n /**\n * Get width of band\n */\n\n\n Axis.prototype.getBandWidth = function () {\n var axisExtent = this._extent;\n var dataExtent = this.scale.getExtent();\n var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0); // Fix #2728, avoid NaN when only one data.\n\n len === 0 && (len = 1);\n var size = Math.abs(axisExtent[1] - axisExtent[0]);\n return Math.abs(size) / len;\n };\n /**\n * Only be called in category axis.\n * Can be overridden, consider other axes like in 3D.\n * @return Auto interval for cateogry axis tick and label\n */\n\n\n Axis.prototype.calculateCategoryInterval = function () {\n return calculateCategoryInterval(this);\n };\n\n return Axis;\n}();\n\nfunction fixExtentWithBands(extent, nTick) {\n var size = extent[1] - extent[0];\n var len = nTick;\n var margin = size / len / 2;\n extent[0] += margin;\n extent[1] -= margin;\n} // If axis has labels [1, 2, 3, 4]. Bands on the axis are\n// |---1---|---2---|---3---|---4---|.\n// So the displayed ticks and splitLine/splitArea should between\n// each data item, otherwise cause misleading (e.g., split tow bars\n// of a single data item when there are two bar series).\n// Also consider if tickCategoryInterval > 0 and onBand, ticks and\n// splitLine/spliteArea should layout appropriately corresponding\n// to displayed labels. (So we should not use `getBandWidth` in this\n// case).\n\n\nfunction fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp) {\n var ticksLen = ticksCoords.length;\n\n if (!axis.onBand || alignWithLabel || !ticksLen) {\n return;\n }\n\n var axisExtent = axis.getExtent();\n var last;\n var diffSize;\n\n if (ticksLen === 1) {\n ticksCoords[0].coord = axisExtent[0];\n last = ticksCoords[1] = {\n coord: axisExtent[0]\n };\n } else {\n var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;\n var shift_1 = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;\n each(ticksCoords, function (ticksItem) {\n ticksItem.coord -= shift_1 / 2;\n });\n var dataExtent = axis.scale.getExtent();\n diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;\n last = {\n coord: ticksCoords[ticksLen - 1].coord + shift_1 * diffSize\n };\n ticksCoords.push(last);\n }\n\n var inverse = axisExtent[0] > axisExtent[1]; // Handling clamp.\n\n if (littleThan(ticksCoords[0].coord, axisExtent[0])) {\n clamp ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();\n }\n\n if (clamp && littleThan(axisExtent[0], ticksCoords[0].coord)) {\n ticksCoords.unshift({\n coord: axisExtent[0]\n });\n }\n\n if (littleThan(axisExtent[1], last.coord)) {\n clamp ? last.coord = axisExtent[1] : ticksCoords.pop();\n }\n\n if (clamp && littleThan(last.coord, axisExtent[1])) {\n ticksCoords.push({\n coord: axisExtent[1]\n });\n }\n\n function littleThan(a, b) {\n // Avoid rounding error cause calculated tick coord different with extent.\n // It may cause an extra unnecessary tick added.\n a = round(a);\n b = round(b);\n return inverse ? a > b : a < b;\n }\n}\n\nexport default Axis;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport ComponentModel from '../../model/Component.js';\n\nvar GridModel =\n/** @class */\nfunction (_super) {\n __extends(GridModel, _super);\n\n function GridModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n GridModel.type = 'grid';\n GridModel.dependencies = ['xAxis', 'yAxis'];\n GridModel.layoutMode = 'box';\n GridModel.defaultOption = {\n show: false,\n // zlevel: 0,\n z: 0,\n left: '10%',\n top: 60,\n right: '10%',\n bottom: 70,\n // If grid size contain label\n containLabel: false,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 1,\n borderColor: '#ccc'\n };\n return GridModel;\n}(ComponentModel);\n\nexport default GridModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport ComponentModel from '../../model/Component.js';\nimport { AxisModelCommonMixin } from '../axisModelCommonMixin.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\n\nvar CartesianAxisModel =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisModel, _super);\n\n function CartesianAxisModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n CartesianAxisModel.prototype.getCoordSysModel = function () {\n return this.getReferringComponents('grid', SINGLE_REFERRING).models[0];\n };\n\n CartesianAxisModel.type = 'cartesian2dAxis';\n return CartesianAxisModel;\n}(ComponentModel);\n\nexport { CartesianAxisModel };\nzrUtil.mixin(CartesianAxisModel, AxisModelCommonMixin);\nexport default CartesianAxisModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar defaultOption = {\n show: true,\n // zlevel: 0,\n z: 0,\n // Inverse the axis.\n inverse: false,\n // Axis name displayed.\n name: '',\n // 'start' | 'middle' | 'end'\n nameLocation: 'end',\n // By degree. By default auto rotate by nameLocation.\n nameRotate: null,\n nameTruncate: {\n maxWidth: null,\n ellipsis: '...',\n placeholder: '.'\n },\n // Use global text style by default.\n nameTextStyle: {},\n // The gap between axisName and axisLine.\n nameGap: 15,\n // Default `false` to support tooltip.\n silent: false,\n // Default `false` to avoid legacy user event listener fail.\n triggerEvent: false,\n tooltip: {\n show: false\n },\n axisPointer: {},\n axisLine: {\n show: true,\n onZero: true,\n onZeroAxisIndex: null,\n lineStyle: {\n color: '#6E7079',\n width: 1,\n type: 'solid'\n },\n // The arrow at both ends the the axis.\n symbol: ['none', 'none'],\n symbolSize: [10, 15]\n },\n axisTick: {\n show: true,\n // Whether axisTick is inside the grid or outside the grid.\n inside: false,\n // The length of axisTick.\n length: 5,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n // Whether axisLabel is inside the grid or outside the grid.\n inside: false,\n rotate: 0,\n // true | false | null/undefined (auto)\n showMinLabel: null,\n // true | false | null/undefined (auto)\n showMaxLabel: null,\n margin: 8,\n // formatter: null,\n fontSize: 12\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#E0E6F1'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)']\n }\n }\n};\nvar categoryAxis = zrUtil.merge({\n // The gap at both ends of the axis. For categoryAxis, boolean.\n boundaryGap: true,\n // Set false to faster category collection.\n deduplication: null,\n // splitArea: {\n // show: false\n // },\n splitLine: {\n show: false\n },\n axisTick: {\n // If tick is align with label when boundaryGap is true\n alignWithLabel: false,\n interval: 'auto'\n },\n axisLabel: {\n interval: 'auto'\n }\n}, defaultOption);\nvar valueAxis = zrUtil.merge({\n boundaryGap: [0, 0],\n axisLine: {\n // Not shown when other axis is categoryAxis in cartesian\n show: 'auto'\n },\n axisTick: {\n // Not shown when other axis is categoryAxis in cartesian\n show: 'auto'\n },\n // TODO\n // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n splitNumber: 5,\n minorTick: {\n // Minor tick, not available for cateogry axis.\n show: false,\n // Split number of minor ticks. The value should be in range of (0, 100)\n splitNumber: 5,\n // Length of minor tick\n length: 3,\n // Line style\n lineStyle: {// Default to be same with axisTick\n }\n },\n minorSplitLine: {\n show: false,\n lineStyle: {\n color: '#F4F7FD',\n width: 1\n }\n }\n}, defaultOption);\nvar timeAxis = zrUtil.merge({\n splitNumber: 6,\n axisLabel: {\n // To eliminate labels that are not nice\n showMinLabel: false,\n showMaxLabel: false,\n rich: {\n primary: {\n fontWeight: 'bold'\n }\n }\n },\n splitLine: {\n show: false\n }\n}, valueAxis);\nvar logAxis = zrUtil.defaults({\n logBase: 10\n}, valueAxis);\nexport default {\n category: categoryAxis,\n value: valueAxis,\n time: timeAxis,\n log: logAxis\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport var AXIS_TYPES = {\n value: 1,\n category: 1,\n time: 1,\n log: 1\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport axisDefault from './axisDefault.js';\nimport { getLayoutParams, mergeLayoutParam, fetchLayoutMode } from '../util/layout.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport { AXIS_TYPES } from './axisCommonTypes.js';\nimport { each, merge } from 'zrender/lib/core/util.js';\n/**\n * Generate sub axis model class\n * @param axisName 'x' 'y' 'radius' 'angle' 'parallel' ...\n */\n\nexport default function axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) {\n each(AXIS_TYPES, function (v, axisType) {\n var defaultOption = merge(merge({}, axisDefault[axisType], true), extraDefaultOption, true);\n\n var AxisModel =\n /** @class */\n function (_super) {\n __extends(AxisModel, _super);\n\n function AxisModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = axisName + 'Axis.' + axisType;\n return _this;\n }\n\n AxisModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n var layoutMode = fetchLayoutMode(this);\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n merge(option, themeModel.get(axisType + 'Axis'));\n merge(option, this.getDefaultOption());\n option.type = getAxisType(option);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n };\n\n AxisModel.prototype.optionUpdated = function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);\n }\n };\n /**\n * Should not be called before all of 'getInitailData' finished.\n * Because categories are collected during initializing data.\n */\n\n\n AxisModel.prototype.getCategories = function (rawData) {\n var option = this.option; // FIXME\n // warning if called before all of 'getInitailData' finished.\n\n if (option.type === 'category') {\n if (rawData) {\n return option.data;\n }\n\n return this.__ordinalMeta.categories;\n }\n };\n\n AxisModel.prototype.getOrdinalMeta = function () {\n return this.__ordinalMeta;\n };\n\n AxisModel.type = axisName + 'Axis.' + axisType;\n AxisModel.defaultOption = defaultOption;\n return AxisModel;\n }(BaseAxisModelClass);\n\n registers.registerComponentModel(AxisModel);\n });\n registers.registerSubTypeDefaulter(axisName + 'Axis', getAxisType);\n}\n\nfunction getAxisType(option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\n\nvar Cartesian =\n/** @class */\nfunction () {\n function Cartesian(name) {\n this.type = 'cartesian';\n this._dimList = [];\n this._axes = {};\n this.name = name || '';\n }\n\n Cartesian.prototype.getAxis = function (dim) {\n return this._axes[dim];\n };\n\n Cartesian.prototype.getAxes = function () {\n return zrUtil.map(this._dimList, function (dim) {\n return this._axes[dim];\n }, this);\n };\n\n Cartesian.prototype.getAxesByScale = function (scaleType) {\n scaleType = scaleType.toLowerCase();\n return zrUtil.filter(this.getAxes(), function (axis) {\n return axis.scale.type === scaleType;\n });\n };\n\n Cartesian.prototype.addAxis = function (axis) {\n var dim = axis.dim;\n this._axes[dim] = axis;\n\n this._dimList.push(dim);\n };\n\n return Cartesian;\n}();\n\n;\nexport default Cartesian;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport Cartesian from './Cartesian.js';\nimport { invert } from 'zrender/lib/core/matrix.js';\nimport { applyTransform } from 'zrender/lib/core/vector.js';\nexport var cartesian2DDimensions = ['x', 'y'];\n\nfunction canCalculateAffineTransform(scale) {\n return scale.type === 'interval' || scale.type === 'time';\n}\n\nvar Cartesian2D =\n/** @class */\nfunction (_super) {\n __extends(Cartesian2D, _super);\n\n function Cartesian2D() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'cartesian2d';\n _this.dimensions = cartesian2DDimensions;\n return _this;\n }\n /**\n * Calculate an affine transform matrix if two axes are time or value.\n * It's mainly for accelartion on the large time series data.\n */\n\n\n Cartesian2D.prototype.calcAffineTransform = function () {\n this._transform = this._invTransform = null;\n var xAxisScale = this.getAxis('x').scale;\n var yAxisScale = this.getAxis('y').scale;\n\n if (!canCalculateAffineTransform(xAxisScale) || !canCalculateAffineTransform(yAxisScale)) {\n return;\n }\n\n var xScaleExtent = xAxisScale.getExtent();\n var yScaleExtent = yAxisScale.getExtent();\n var start = this.dataToPoint([xScaleExtent[0], yScaleExtent[0]]);\n var end = this.dataToPoint([xScaleExtent[1], yScaleExtent[1]]);\n var xScaleSpan = xScaleExtent[1] - xScaleExtent[0];\n var yScaleSpan = yScaleExtent[1] - yScaleExtent[0];\n\n if (!xScaleSpan || !yScaleSpan) {\n return;\n } // Accelerate data to point calculation on the special large time series data.\n\n\n var scaleX = (end[0] - start[0]) / xScaleSpan;\n var scaleY = (end[1] - start[1]) / yScaleSpan;\n var translateX = start[0] - xScaleExtent[0] * scaleX;\n var translateY = start[1] - yScaleExtent[0] * scaleY;\n var m = this._transform = [scaleX, 0, 0, scaleY, translateX, translateY];\n this._invTransform = invert([], m);\n };\n /**\n * Base axis will be used on stacking.\n */\n\n\n Cartesian2D.prototype.getBaseAxis = function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n };\n\n Cartesian2D.prototype.containPoint = function (point) {\n var axisX = this.getAxis('x');\n var axisY = this.getAxis('y');\n return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n };\n\n Cartesian2D.prototype.containData = function (data) {\n return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n };\n\n Cartesian2D.prototype.containZone = function (data1, data2) {\n var zoneDiag1 = this.dataToPoint(data1);\n var zoneDiag2 = this.dataToPoint(data2);\n var area = this.getArea();\n var zone = new BoundingRect(zoneDiag1[0], zoneDiag1[1], zoneDiag2[0] - zoneDiag1[0], zoneDiag2[1] - zoneDiag1[1]);\n return area.intersect(zone);\n };\n\n Cartesian2D.prototype.dataToPoint = function (data, clamp, out) {\n out = out || [];\n var xVal = data[0];\n var yVal = data[1]; // Fast path\n\n if (this._transform // It's supported that if data is like `[Inifity, 123]`, where only Y pixel calculated.\n && xVal != null && isFinite(xVal) && yVal != null && isFinite(yVal)) {\n return applyTransform(out, data, this._transform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp));\n out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp));\n return out;\n };\n\n Cartesian2D.prototype.clampData = function (data, out) {\n var xScale = this.getAxis('x').scale;\n var yScale = this.getAxis('y').scale;\n var xAxisExtent = xScale.getExtent();\n var yAxisExtent = yScale.getExtent();\n var x = xScale.parse(data[0]);\n var y = yScale.parse(data[1]);\n out = out || [];\n out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n return out;\n };\n\n Cartesian2D.prototype.pointToData = function (point, clamp) {\n var out = [];\n\n if (this._invTransform) {\n return applyTransform(out, point, this._invTransform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]), clamp);\n out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]), clamp);\n return out;\n };\n\n Cartesian2D.prototype.getOtherAxis = function (axis) {\n return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n };\n /**\n * Get rect area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n */\n\n\n Cartesian2D.prototype.getArea = function () {\n var xExtent = this.getAxis('x').getGlobalExtent();\n var yExtent = this.getAxis('y').getGlobalExtent();\n var x = Math.min(xExtent[0], xExtent[1]);\n var y = Math.min(yExtent[0], yExtent[1]);\n var width = Math.max(xExtent[0], xExtent[1]) - x;\n var height = Math.max(yExtent[0], yExtent[1]) - y;\n return new BoundingRect(x, y, width, height);\n };\n\n return Cartesian2D;\n}(Cartesian);\n\n;\nexport default Cartesian2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport Axis from '../Axis.js';\n\nvar Axis2D =\n/** @class */\nfunction (_super) {\n __extends(Axis2D, _super);\n\n function Axis2D(dim, scale, coordExtent, axisType, position) {\n var _this = _super.call(this, dim, scale, coordExtent) || this;\n /**\n * Index of axis, can be used as key\n * Injected outside.\n */\n\n\n _this.index = 0;\n _this.type = axisType || 'value';\n _this.position = position || 'bottom';\n return _this;\n }\n\n Axis2D.prototype.isHorizontal = function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n };\n /**\n * Each item cooresponds to this.getExtent(), which\n * means globalExtent[0] may greater than globalExtent[1],\n * unless `asc` is input.\n *\n * @param {boolean} [asc]\n * @return {Array.<number>}\n */\n\n\n Axis2D.prototype.getGlobalExtent = function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n };\n\n Axis2D.prototype.pointToData = function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n };\n /**\n * Set ordinalSortInfo\n * @param info new OrdinalSortInfo\n */\n\n\n Axis2D.prototype.setCategorySortInfo = function (info) {\n if (this.type !== 'category') {\n return false;\n }\n\n this.model.option.categorySortInfo = info;\n this.scale.setSortInfo(info);\n };\n\n return Axis2D;\n}(Axis);\n\nexport default Axis2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { getPrecisionSafe, round } from '../util/number.js';\nimport IntervalScale from '../scale/Interval.js';\nimport { getScaleExtent } from './axisHelper.js';\nimport { warn } from '../util/log.js';\nimport { increaseInterval, isValueNice } from '../scale/helper.js';\nvar mathLog = Math.log;\nexport function alignScaleTicks(scale, axisModel, alignToScale) {\n var intervalScaleProto = IntervalScale.prototype; // NOTE: There is a precondition for log scale here:\n // In log scale we store _interval and _extent of exponent value.\n // So if we use the method of InternalScale to set/get these data.\n // It process the exponent value, which is linear and what we want here.\n\n var alignToTicks = intervalScaleProto.getTicks.call(alignToScale);\n var alignToNicedTicks = intervalScaleProto.getTicks.call(alignToScale, true);\n var alignToSplitNumber = alignToTicks.length - 1;\n var alignToInterval = intervalScaleProto.getInterval.call(alignToScale);\n var scaleExtent = getScaleExtent(scale, axisModel);\n var rawExtent = scaleExtent.extent;\n var isMinFixed = scaleExtent.fixMin;\n var isMaxFixed = scaleExtent.fixMax;\n\n if (scale.type === 'log') {\n var logBase = mathLog(scale.base);\n rawExtent = [mathLog(rawExtent[0]) / logBase, mathLog(rawExtent[1]) / logBase];\n }\n\n scale.setExtent(rawExtent[0], rawExtent[1]);\n scale.calcNiceExtent({\n splitNumber: alignToSplitNumber,\n fixMin: isMinFixed,\n fixMax: isMaxFixed\n });\n var extent = intervalScaleProto.getExtent.call(scale); // Need to update the rawExtent.\n // Because value in rawExtent may be not parsed. e.g. 'dataMin', 'dataMax'\n\n if (isMinFixed) {\n rawExtent[0] = extent[0];\n }\n\n if (isMaxFixed) {\n rawExtent[1] = extent[1];\n }\n\n var interval = intervalScaleProto.getInterval.call(scale);\n var min = rawExtent[0];\n var max = rawExtent[1];\n\n if (isMinFixed && isMaxFixed) {\n // User set min, max, divide to get new interval\n interval = (max - min) / alignToSplitNumber;\n } else if (isMinFixed) {\n max = rawExtent[0] + interval * alignToSplitNumber; // User set min, expand extent on the other side\n\n while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1])) {\n interval = increaseInterval(interval);\n max = rawExtent[0] + interval * alignToSplitNumber;\n }\n } else if (isMaxFixed) {\n // User set max, expand extent on the other side\n min = rawExtent[1] - interval * alignToSplitNumber;\n\n while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0])) {\n interval = increaseInterval(interval);\n min = rawExtent[1] - interval * alignToSplitNumber;\n }\n } else {\n var nicedSplitNumber = scale.getTicks().length - 1;\n\n if (nicedSplitNumber > alignToSplitNumber) {\n interval = increaseInterval(interval);\n }\n\n var range = interval * alignToSplitNumber;\n max = Math.ceil(rawExtent[1] / interval) * interval;\n min = round(max - range); // Not change the result that crossing zero.\n\n if (min < 0 && rawExtent[0] >= 0) {\n min = 0;\n max = round(range);\n } else if (max > 0 && rawExtent[1] <= 0) {\n max = 0;\n min = -round(range);\n }\n } // Adjust min, max based on the extent of alignTo. When min or max is set in alignTo scale\n\n\n var t0 = (alignToTicks[0].value - alignToNicedTicks[0].value) / alignToInterval;\n var t1 = (alignToTicks[alignToSplitNumber].value - alignToNicedTicks[alignToSplitNumber].value) / alignToInterval; // NOTE: Must in setExtent -> setInterval -> setNiceExtent order.\n\n intervalScaleProto.setExtent.call(scale, min + interval * t0, max + interval * t1);\n intervalScaleProto.setInterval.call(scale, interval);\n\n if (t0 || t1) {\n intervalScaleProto.setNiceExtent.call(scale, min + interval, max - interval);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var ticks = intervalScaleProto.getTicks.call(scale);\n\n if (ticks[1] && (!isValueNice(interval) || getPrecisionSafe(ticks[1].value) > getPrecisionSafe(interval))) {\n warn( // eslint-disable-next-line\n \"The ticks may be not readable when set min: \" + axisModel.get('min') + \", max: \" + axisModel.get('max') + \" and alignTicks: true\");\n }\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Grid is a region which contains at most 4 cartesian systems\n *\n * TODO Default cartesian\n */\nimport { isObject, each, indexOf, retrieve3, keys } from 'zrender/lib/core/util.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport { createScaleByModel, ifAxisCrossZero, niceScaleExtent, estimateLabelUnionRect, getDataDimensionsOnAxis } from '../../coord/axisHelper.js';\nimport Cartesian2D, { cartesian2DDimensions } from './Cartesian2D.js';\nimport Axis2D from './Axis2D.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\nimport { isCartesian2DSeries, findAxisModels } from './cartesianAxisHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nimport { alignScaleTicks } from '../axisAlignTicks.js';\n\nvar Grid =\n/** @class */\nfunction () {\n function Grid(gridModel, ecModel, api) {\n // FIXME:TS where used (different from registered type 'cartesian2d')?\n this.type = 'grid';\n this._coordsMap = {};\n this._coordsList = [];\n this._axesMap = {};\n this._axesList = [];\n this.axisPointerEnabled = true;\n this.dimensions = cartesian2DDimensions;\n\n this._initCartesian(gridModel, ecModel, api);\n\n this.model = gridModel;\n }\n\n Grid.prototype.getRect = function () {\n return this._rect;\n };\n\n Grid.prototype.update = function (ecModel, api) {\n var axesMap = this._axesMap;\n\n this._updateScale(ecModel, this.model);\n\n function updateAxisTicks(axes) {\n var alignTo; // Axis is added in order of axisIndex.\n\n var axesIndices = keys(axes);\n var len = axesIndices.length;\n\n if (!len) {\n return;\n }\n\n var axisNeedsAlign = []; // Process once and calculate the ticks for those don't use alignTicks.\n\n for (var i = len - 1; i >= 0; i--) {\n var idx = +axesIndices[i]; // Convert to number.\n\n var axis = axes[idx];\n var model = axis.model;\n var scale = axis.scale;\n\n if ( // Only value and log axis without interval support alignTicks.\n isIntervalOrLogScale(scale) && model.get('alignTicks') && model.get('interval') == null) {\n axisNeedsAlign.push(axis);\n } else {\n niceScaleExtent(scale, model);\n\n if (isIntervalOrLogScale(scale)) {\n // Can only align to interval or log axis.\n alignTo = axis;\n }\n }\n }\n\n ; // All axes has set alignTicks. Pick the first one.\n // PENDING. Should we find the axis that both set interval, min, max and align to this one?\n\n if (axisNeedsAlign.length) {\n if (!alignTo) {\n alignTo = axisNeedsAlign.pop();\n niceScaleExtent(alignTo.scale, alignTo.model);\n }\n\n each(axisNeedsAlign, function (axis) {\n alignScaleTicks(axis.scale, axis.model, alignTo.scale);\n });\n }\n }\n\n updateAxisTicks(axesMap.x);\n updateAxisTicks(axesMap.y); // Key: axisDim_axisIndex, value: boolean, whether onZero target.\n\n var onZeroRecords = {};\n each(axesMap.x, function (xAxis) {\n fixAxisOnZero(axesMap, 'y', xAxis, onZeroRecords);\n });\n each(axesMap.y, function (yAxis) {\n fixAxisOnZero(axesMap, 'x', yAxis, onZeroRecords);\n }); // Resize again if containLabel is enabled\n // FIXME It may cause getting wrong grid size in data processing stage\n\n this.resize(this.model, api);\n };\n /**\n * Resize the grid\n */\n\n\n Grid.prototype.resize = function (gridModel, api, ignoreContainLabel) {\n var boxLayoutParams = gridModel.getBoxLayoutParams();\n var isContainLabel = !ignoreContainLabel && gridModel.get('containLabel');\n var gridRect = getLayoutRect(boxLayoutParams, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n this._rect = gridRect;\n var axesList = this._axesList;\n adjustAxes(); // Minus label size\n\n if (isContainLabel) {\n each(axesList, function (axis) {\n if (!axis.model.get(['axisLabel', 'inside'])) {\n var labelUnionRect = estimateLabelUnionRect(axis);\n\n if (labelUnionRect) {\n var dim = axis.isHorizontal() ? 'height' : 'width';\n var margin = axis.model.get(['axisLabel', 'margin']);\n gridRect[dim] -= labelUnionRect[dim] + margin;\n\n if (axis.position === 'top') {\n gridRect.y += labelUnionRect.height + margin;\n } else if (axis.position === 'left') {\n gridRect.x += labelUnionRect.width + margin;\n }\n }\n }\n });\n adjustAxes();\n }\n\n each(this._coordsList, function (coord) {\n // Calculate affine matrix to accelerate the data to point transform.\n // If all the axes scales are time or value.\n coord.calcAffineTransform();\n });\n\n function adjustAxes() {\n each(axesList, function (axis) {\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n updateAxisTransform(axis, isHorizontal ? gridRect.x : gridRect.y);\n });\n }\n };\n\n Grid.prototype.getAxis = function (dim, axisIndex) {\n var axesMapOnDim = this._axesMap[dim];\n\n if (axesMapOnDim != null) {\n return axesMapOnDim[axisIndex || 0];\n }\n };\n\n Grid.prototype.getAxes = function () {\n return this._axesList.slice();\n };\n\n Grid.prototype.getCartesian = function (xAxisIndex, yAxisIndex) {\n if (xAxisIndex != null && yAxisIndex != null) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n return this._coordsMap[key];\n }\n\n if (isObject(xAxisIndex)) {\n yAxisIndex = xAxisIndex.yAxisIndex;\n xAxisIndex = xAxisIndex.xAxisIndex;\n }\n\n for (var i = 0, coordList = this._coordsList; i < coordList.length; i++) {\n if (coordList[i].getAxis('x').index === xAxisIndex || coordList[i].getAxis('y').index === yAxisIndex) {\n return coordList[i];\n }\n }\n };\n\n Grid.prototype.getCartesians = function () {\n return this._coordsList.slice();\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.convertToPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.convertFromPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n };\n\n Grid.prototype._findConvertTarget = function (finder) {\n var seriesModel = finder.seriesModel;\n var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n var gridModel = finder.gridModel;\n var coordsList = this._coordsList;\n var cartesian;\n var axis;\n\n if (seriesModel) {\n cartesian = seriesModel.coordinateSystem;\n indexOf(coordsList, cartesian) < 0 && (cartesian = null);\n } else if (xAxisModel && yAxisModel) {\n cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n } else if (xAxisModel) {\n axis = this.getAxis('x', xAxisModel.componentIndex);\n } else if (yAxisModel) {\n axis = this.getAxis('y', yAxisModel.componentIndex);\n } // Lowest priority.\n else if (gridModel) {\n var grid = gridModel.coordinateSystem;\n\n if (grid === this) {\n cartesian = this._coordsList[0];\n }\n }\n\n return {\n cartesian: cartesian,\n axis: axis\n };\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.containPoint = function (point) {\n var coord = this._coordsList[0];\n\n if (coord) {\n return coord.containPoint(point);\n }\n };\n /**\n * Initialize cartesian coordinate systems\n */\n\n\n Grid.prototype._initCartesian = function (gridModel, ecModel, api) {\n var _this = this;\n\n var grid = this;\n var axisPositionUsed = {\n left: false,\n right: false,\n top: false,\n bottom: false\n };\n var axesMap = {\n x: {},\n y: {}\n };\n var axesCount = {\n x: 0,\n y: 0\n }; // Create axis\n\n ecModel.eachComponent('xAxis', createAxisCreator('x'), this);\n ecModel.eachComponent('yAxis', createAxisCreator('y'), this);\n\n if (!axesCount.x || !axesCount.y) {\n // Roll back when there no either x or y axis\n this._axesMap = {};\n this._axesList = [];\n return;\n }\n\n this._axesMap = axesMap; // Create cartesian2d\n\n each(axesMap.x, function (xAxis, xAxisIndex) {\n each(axesMap.y, function (yAxis, yAxisIndex) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n var cartesian = new Cartesian2D(key);\n cartesian.master = _this;\n cartesian.model = gridModel;\n _this._coordsMap[key] = cartesian;\n\n _this._coordsList.push(cartesian);\n\n cartesian.addAxis(xAxis);\n cartesian.addAxis(yAxis);\n });\n });\n\n function createAxisCreator(dimName) {\n return function (axisModel, idx) {\n if (!isAxisUsedInTheGrid(axisModel, gridModel)) {\n return;\n }\n\n var axisPosition = axisModel.get('position');\n\n if (dimName === 'x') {\n // Fix position\n if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n // Default bottom of X\n axisPosition = axisPositionUsed.bottom ? 'top' : 'bottom';\n }\n } else {\n // Fix position\n if (axisPosition !== 'left' && axisPosition !== 'right') {\n // Default left of Y\n axisPosition = axisPositionUsed.left ? 'right' : 'left';\n }\n }\n\n axisPositionUsed[axisPosition] = true;\n var axis = new Axis2D(dimName, createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisPosition);\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Inject axis into axisModel\n\n axisModel.axis = axis; // Inject axisModel into axis\n\n axis.model = axisModel; // Inject grid info axis\n\n axis.grid = grid; // Index of axis, can be used as key\n\n axis.index = idx;\n\n grid._axesList.push(axis);\n\n axesMap[dimName][idx] = axis;\n axesCount[dimName]++;\n };\n }\n };\n /**\n * Update cartesian properties from series.\n */\n\n\n Grid.prototype._updateScale = function (ecModel, gridModel) {\n // Reset scale\n each(this._axesList, function (axis) {\n axis.scale.setExtent(Infinity, -Infinity);\n\n if (axis.type === 'category') {\n var categorySortInfo = axis.model.get('categorySortInfo');\n axis.scale.setSortInfo(categorySortInfo);\n }\n });\n ecModel.eachSeries(function (seriesModel) {\n if (isCartesian2DSeries(seriesModel)) {\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n\n if (!isAxisUsedInTheGrid(xAxisModel, gridModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel)) {\n return;\n }\n\n var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n var data = seriesModel.getData();\n var xAxis = cartesian.getAxis('x');\n var yAxis = cartesian.getAxis('y');\n unionExtent(data, xAxis);\n unionExtent(data, yAxis);\n }\n }, this);\n\n function unionExtent(data, axis) {\n each(getDataDimensionsOnAxis(data, axis.dim), function (dim) {\n axis.scale.unionExtentFromData(data, dim);\n });\n }\n };\n /**\n * @param dim 'x' or 'y' or 'auto' or null/undefined\n */\n\n\n Grid.prototype.getTooltipAxes = function (dim) {\n var baseAxes = [];\n var otherAxes = [];\n each(this.getCartesians(), function (cartesian) {\n var baseAxis = dim != null && dim !== 'auto' ? cartesian.getAxis(dim) : cartesian.getBaseAxis();\n var otherAxis = cartesian.getOtherAxis(baseAxis);\n indexOf(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);\n indexOf(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);\n });\n return {\n baseAxes: baseAxes,\n otherAxes: otherAxes\n };\n };\n\n Grid.create = function (ecModel, api) {\n var grids = [];\n ecModel.eachComponent('grid', function (gridModel, idx) {\n var grid = new Grid(gridModel, ecModel, api);\n grid.name = 'grid_' + idx; // dataSampling requires axis extent, so resize\n // should be performed in create stage.\n\n grid.resize(gridModel, api, true);\n gridModel.coordinateSystem = grid;\n grids.push(grid);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (!isCartesian2DSeries(seriesModel)) {\n return;\n }\n\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n var gridModel = xAxisModel.getCoordSysModel();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!gridModel) {\n throw new Error('Grid \"' + retrieve3(xAxisModel.get('gridIndex'), xAxisModel.get('gridId'), 0) + '\" not found');\n }\n\n if (xAxisModel.getCoordSysModel() !== yAxisModel.getCoordSysModel()) {\n throw new Error('xAxis and yAxis must use the same grid');\n }\n }\n\n var grid = gridModel.coordinateSystem;\n seriesModel.coordinateSystem = grid.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n });\n return grids;\n }; // For deciding which dimensions to use when creating list data\n\n\n Grid.dimensions = cartesian2DDimensions;\n return Grid;\n}();\n/**\n * Check if the axis is used in the specified grid.\n */\n\n\nfunction isAxisUsedInTheGrid(axisModel, gridModel) {\n return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, // Key: see `getOnZeroRecordKey`\nonZeroRecords) {\n axis.getAxesOnZeroOf = function () {\n // TODO: onZero of multiple axes.\n return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];\n }; // onZero can not be enabled in these two situations:\n // 1. When any other axis is a category axis.\n // 2. When no axis is cross 0 point.\n\n\n var otherAxes = axesMap[otherAxisDim];\n var otherAxisOnZeroOf;\n var axisModel = axis.model;\n var onZero = axisModel.get(['axisLine', 'onZero']);\n var onZeroAxisIndex = axisModel.get(['axisLine', 'onZeroAxisIndex']);\n\n if (!onZero) {\n return;\n } // If target axis is specified.\n\n\n if (onZeroAxisIndex != null) {\n if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {\n otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];\n }\n } else {\n // Find the first available other axis.\n for (var idx in otherAxes) {\n if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) // Consider that two Y axes on one value axis,\n // if both onZero, the two Y axes overlap.\n && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {\n otherAxisOnZeroOf = otherAxes[idx];\n break;\n }\n }\n }\n\n if (otherAxisOnZeroOf) {\n onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;\n }\n\n function getOnZeroRecordKey(axis) {\n return axis.dim + '_' + axis.index;\n }\n}\n\nfunction canOnZeroToAxis(axis) {\n return axis && axis.type !== 'category' && axis.type !== 'time' && ifAxisCrossZero(axis);\n}\n\nfunction updateAxisTransform(axis, coordBase) {\n var axisExtent = axis.getExtent();\n var axisExtentSum = axisExtent[0] + axisExtent[1]; // Fast transform\n\n axis.toGlobalCoord = axis.dim === 'x' ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n axis.toLocalCoord = axis.dim === 'x' ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n}\n\nexport default Grid;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { makeInner } from '../../util/model.js';\nvar inner = makeInner();\nexport function rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n } // TODO: TYPE\n\n\n var splitAreaModel = axisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var gridRect = gridModel.coordinateSystem.getRect();\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitAreaModel,\n clamp: true\n });\n\n if (!ticksCoords.length) {\n return;\n } // For Making appropriate splitArea animation, the color and anid\n // should be corresponding to previous one if possible.\n\n\n var areaColorsLen = areaColors.length;\n var lastSplitAreaColors = inner(axisView).splitAreaColors;\n var newSplitAreaColors = zrUtil.createHashMap();\n var colorIndex = 0;\n\n if (lastSplitAreaColors) {\n for (var i = 0; i < ticksCoords.length; i++) {\n var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);\n\n if (cIndex != null) {\n colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;\n break;\n }\n }\n }\n\n var prev = axis.toGlobalCoord(ticksCoords[0].coord);\n var areaStyle = areaStyleModel.getAreaStyle();\n areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];\n\n for (var i = 1; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n var x = void 0;\n var y = void 0;\n var width = void 0;\n var height = void 0;\n\n if (axis.isHorizontal()) {\n x = prev;\n y = gridRect.y;\n width = tickCoord - x;\n height = gridRect.height;\n prev = x + width;\n } else {\n x = gridRect.x;\n y = prev;\n width = gridRect.width;\n height = tickCoord - y;\n prev = y + height;\n }\n\n var tickValue = ticksCoords[i - 1].tickValue;\n tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);\n axisGroup.add(new graphic.Rect({\n anid: tickValue != null ? 'area_' + tickValue : null,\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n },\n style: zrUtil.defaults({\n fill: areaColors[colorIndex]\n }, areaStyle),\n autoBatch: true,\n silent: true\n }));\n colorIndex = (colorIndex + 1) % areaColorsLen;\n }\n\n inner(axisView).splitAreaColors = newSplitAreaColors;\n}\nexport function rectCoordAxisHandleRemove(axisView) {\n inner(axisView).splitAreaColors = null;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport AxisBuilder from './AxisBuilder.js';\nimport AxisView from './AxisView.js';\nimport * as cartesianAxisHelper from '../../coord/cartesian/cartesianAxisHelper.js';\nimport { rectCoordAxisBuildSplitArea, rectCoordAxisHandleRemove } from './axisSplitHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\n\nvar CartesianAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisView, _super);\n\n function CartesianAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianAxisView.type;\n _this.axisPointerClass = 'CartesianAxisPointer';\n return _this;\n }\n /**\n * @override\n */\n\n\n CartesianAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var gridModel = axisModel.getCoordSysModel();\n var layout = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, zrUtil.extend({\n handleAutoShown: function (elementType) {\n var cartesians = gridModel.coordinateSystem.getCartesians();\n\n for (var i = 0; i < cartesians.length; i++) {\n if (isIntervalOrLogScale(cartesians[i].getOtherAxis(axisModel.axis).scale)) {\n // Still show axis tick or axisLine if other axis is value / log\n return true;\n }\n } // Not show axisTick or axisLine if other axis is category / time\n\n\n return false;\n }\n }, layout));\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get([name, 'show'])) {\n axisElementBuilders[name](this, this._axisGroup, axisModel, gridModel);\n }\n }, this); // THIS is a special case for bar racing chart.\n // Update the axis label from the natural initial layout to\n // sorted layout should has no animation.\n\n var isInitialSortFromBarRacing = payload && payload.type === 'changeAxisOrder' && payload.isInitSort;\n\n if (!isInitialSortFromBarRacing) {\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n }\n\n _super.prototype.render.call(this, axisModel, ecModel, api, payload);\n };\n\n CartesianAxisView.prototype.remove = function () {\n rectCoordAxisHandleRemove(this);\n };\n\n CartesianAxisView.type = 'cartesianAxis';\n return CartesianAxisView;\n}(AxisView);\n\nvar axisElementBuilders = {\n splitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n var tickValue = ticksCoords[i].tickValue;\n var line = new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n });\n graphic.subPixelOptimizeLine(line.shape, lineStyle.lineWidth);\n axisGroup.add(line);\n }\n },\n minorSplitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var line = new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: lineStyle,\n silent: true\n });\n graphic.subPixelOptimizeLine(line.shape, lineStyle.lineWidth);\n axisGroup.add(line);\n }\n }\n },\n splitArea: function (axisView, axisGroup, axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel);\n }\n};\n\nvar CartesianXAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianXAxisView, _super);\n\n function CartesianXAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianXAxisView.type = 'xAxis';\n return CartesianXAxisView;\n}(CartesianAxisView);\n\nexport { CartesianXAxisView };\n\nvar CartesianYAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianYAxisView, _super);\n\n function CartesianYAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianYAxisView.type = 'yAxis';\n return CartesianYAxisView;\n}(CartesianAxisView);\n\nexport { CartesianYAxisView };\nexport default CartesianAxisView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport ComponentView from '../../view/Component.js';\nimport GridModel from '../../coord/cartesian/GridModel.js';\nimport { Rect } from '../../util/graphic.js';\nimport { defaults } from 'zrender/lib/core/util.js';\nimport { CartesianAxisModel } from '../../coord/cartesian/AxisModel.js';\nimport axisModelCreator from '../../coord/axisModelCreator.js';\nimport Grid from '../../coord/cartesian/Grid.js';\nimport { CartesianXAxisView, CartesianYAxisView } from '../axis/CartesianAxisView.js'; // Grid view\n\nvar GridView =\n/** @class */\nfunction (_super) {\n __extends(GridView, _super);\n\n function GridView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'grid';\n return _this;\n }\n\n GridView.prototype.render = function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n };\n\n GridView.type = 'grid';\n return GridView;\n}(ComponentView);\n\nvar extraOption = {\n // gridIndex: 0,\n // gridId: '',\n offset: 0\n};\nexport function install(registers) {\n registers.registerComponentView(GridView);\n registers.registerComponentModel(GridModel);\n registers.registerCoordinateSystem('cartesian2d', Grid);\n axisModelCreator(registers, 'x', CartesianAxisModel, extraOption);\n axisModelCreator(registers, 'y', CartesianAxisModel, extraOption);\n registers.registerComponentView(CartesianXAxisView);\n registers.registerComponentView(CartesianYAxisView);\n registers.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { install as installSimple } from './installSimple.js';\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nexport function install(registers) {\n use(installSimple);\n use(installAxisPointer);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport ComponentModel from '../../model/Component.js';\nimport ComponentView from '../../view/Component.js';\nimport { windowOpen } from '../../util/format.js';\n\nvar TitleModel =\n/** @class */\nfunction (_super) {\n __extends(TitleModel, _super);\n\n function TitleModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TitleModel.type;\n _this.layoutMode = {\n type: 'box',\n ignoreSize: true\n };\n return _this;\n }\n\n TitleModel.type = 'title';\n TitleModel.defaultOption = {\n // zlevel: 0,\n z: 6,\n show: true,\n text: '',\n target: 'blank',\n subtext: '',\n subtarget: 'blank',\n left: 0,\n top: 0,\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n borderWidth: 0,\n padding: 5,\n itemGap: 10,\n textStyle: {\n fontSize: 18,\n fontWeight: 'bold',\n color: '#464646'\n },\n subtextStyle: {\n fontSize: 12,\n color: '#6E7079'\n }\n };\n return TitleModel;\n}(ComponentModel); // View\n\n\nvar TitleView =\n/** @class */\nfunction (_super) {\n __extends(TitleView, _super);\n\n function TitleView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TitleView.type;\n return _this;\n }\n\n TitleView.prototype.render = function (titleModel, ecModel, api) {\n this.group.removeAll();\n\n if (!titleModel.get('show')) {\n return;\n }\n\n var group = this.group;\n var textStyleModel = titleModel.getModel('textStyle');\n var subtextStyleModel = titleModel.getModel('subtextStyle');\n var textAlign = titleModel.get('textAlign');\n var textVerticalAlign = zrUtil.retrieve2(titleModel.get('textBaseline'), titleModel.get('textVerticalAlign'));\n var textEl = new graphic.Text({\n style: createTextStyle(textStyleModel, {\n text: titleModel.get('text'),\n fill: textStyleModel.getTextColor()\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var textRect = textEl.getBoundingRect();\n var subText = titleModel.get('subtext');\n var subTextEl = new graphic.Text({\n style: createTextStyle(subtextStyleModel, {\n text: subText,\n fill: subtextStyleModel.getTextColor(),\n y: textRect.height + titleModel.get('itemGap'),\n verticalAlign: 'top'\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var link = titleModel.get('link');\n var sublink = titleModel.get('sublink');\n var triggerEvent = titleModel.get('triggerEvent', true);\n textEl.silent = !link && !triggerEvent;\n subTextEl.silent = !sublink && !triggerEvent;\n\n if (link) {\n textEl.on('click', function () {\n windowOpen(link, '_' + titleModel.get('target'));\n });\n }\n\n if (sublink) {\n subTextEl.on('click', function () {\n windowOpen(sublink, '_' + titleModel.get('subtarget'));\n });\n }\n\n getECData(textEl).eventData = getECData(subTextEl).eventData = triggerEvent ? {\n componentType: 'title',\n componentIndex: titleModel.componentIndex\n } : null;\n group.add(textEl);\n subText && group.add(subTextEl); // If no subText, but add subTextEl, there will be an empty line.\n\n var groupRect = group.getBoundingRect();\n var layoutOption = titleModel.getBoxLayoutParams();\n layoutOption.width = groupRect.width;\n layoutOption.height = groupRect.height;\n var layoutRect = getLayoutRect(layoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n }, titleModel.get('padding')); // Adjust text align based on position\n\n if (!textAlign) {\n // Align left if title is on the left. center and right is same\n textAlign = titleModel.get('left') || titleModel.get('right'); // @ts-ignore\n\n if (textAlign === 'middle') {\n textAlign = 'center';\n } // Adjust layout by text align\n\n\n if (textAlign === 'right') {\n layoutRect.x += layoutRect.width;\n } else if (textAlign === 'center') {\n layoutRect.x += layoutRect.width / 2;\n }\n }\n\n if (!textVerticalAlign) {\n textVerticalAlign = titleModel.get('top') || titleModel.get('bottom'); // @ts-ignore\n\n if (textVerticalAlign === 'center') {\n textVerticalAlign = 'middle';\n }\n\n if (textVerticalAlign === 'bottom') {\n layoutRect.y += layoutRect.height;\n } else if (textVerticalAlign === 'middle') {\n layoutRect.y += layoutRect.height / 2;\n }\n\n textVerticalAlign = textVerticalAlign || 'top';\n }\n\n group.x = layoutRect.x;\n group.y = layoutRect.y;\n group.markRedraw();\n var alignStyle = {\n align: textAlign,\n verticalAlign: textVerticalAlign\n };\n textEl.setStyle(alignStyle);\n subTextEl.setStyle(alignStyle); // Render background\n // Get groupRect again because textAlign has been changed\n\n groupRect = group.getBoundingRect();\n var padding = layoutRect.margin;\n var style = titleModel.getItemStyle(['color', 'opacity']);\n style.fill = titleModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: groupRect.x - padding[3],\n y: groupRect.y - padding[0],\n width: groupRect.width + padding[1] + padding[3],\n height: groupRect.height + padding[0] + padding[2],\n r: titleModel.get('borderRadius')\n },\n style: style,\n subPixelOptimize: true,\n silent: true\n });\n group.add(rect);\n };\n\n TitleView.type = 'title';\n return TitleView;\n}(ComponentView);\n\nexport function install(registers) {\n registers.registerComponentModel(TitleModel);\n registers.registerComponentView(TitleView);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { isArray } from 'zrender/lib/core/util.js';\n/**\n * @return label string. Not null/undefined\n */\n\nexport function getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n if (len === 1) {\n var rawVal = retrieveRawValue(data, dataIndex, labelDims[0]);\n return rawVal != null ? rawVal + '' : null;\n } else if (len) {\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n vals.push(retrieveRawValue(data, dataIndex, labelDims[i]));\n }\n\n return vals.join(' ');\n }\n}\nexport function getDefaultInterpolatedLabel(data, interpolatedValue) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n\n if (!isArray(interpolatedValue)) {\n return interpolatedValue + '';\n }\n\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n var dimIndex = data.getDimensionIndex(labelDims[i]);\n\n if (dimIndex >= 0) {\n vals.push(interpolatedValue[dimIndex]);\n }\n }\n\n return vals.join(' ');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport function isCoordinateSystemType(coordSys, type) {\n return coordSys.type === type;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as graphic from '../../util/graphic.js';\nimport { round } from '../../util/number.js';\nimport { isFunction } from 'zrender/lib/core/util.js';\n\nfunction createGridClipPath(cartesian, hasAnimation, seriesModel, done, during) {\n var rect = cartesian.getArea();\n var x = rect.x;\n var y = rect.y;\n var width = rect.width;\n var height = rect.height;\n var lineWidth = seriesModel.get(['lineStyle', 'width']) || 2; // Expand the clip path a bit to avoid the border is clipped and looks thinner\n\n x -= lineWidth / 2;\n y -= lineWidth / 2;\n width += lineWidth;\n height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369\n\n x = Math.floor(x);\n width = Math.round(width);\n var clipPath = new graphic.Rect({\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n }\n });\n\n if (hasAnimation) {\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isAxisInversed = baseAxis.inverse;\n\n if (isHorizontal) {\n if (isAxisInversed) {\n clipPath.shape.x += width;\n }\n\n clipPath.shape.width = 0;\n } else {\n if (!isAxisInversed) {\n clipPath.shape.y += height;\n }\n\n clipPath.shape.height = 0;\n }\n\n var duringCb = isFunction(during) ? function (percent) {\n during(percent, clipPath);\n } : null;\n graphic.initProps(clipPath, {\n shape: {\n width: width,\n height: height,\n x: x,\n y: y\n }\n }, seriesModel, null, done, duringCb);\n }\n\n return clipPath;\n}\n\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n var sectorArea = polar.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n\n var r0 = round(sectorArea.r0, 1);\n var r = round(sectorArea.r, 1);\n var clipPath = new graphic.Sector({\n shape: {\n cx: round(polar.cx, 1),\n cy: round(polar.cy, 1),\n r0: r0,\n r: r,\n startAngle: sectorArea.startAngle,\n endAngle: sectorArea.endAngle,\n clockwise: sectorArea.clockwise\n }\n });\n\n if (hasAnimation) {\n var isRadial = polar.getBaseAxis().dim === 'angle';\n\n if (isRadial) {\n clipPath.shape.endAngle = sectorArea.startAngle;\n } else {\n clipPath.shape.r = r0;\n }\n\n graphic.initProps(clipPath, {\n shape: {\n endAngle: sectorArea.endAngle,\n r: r\n }\n }, seriesModel);\n }\n\n return clipPath;\n}\n\nfunction createClipPath(coordSys, hasAnimation, seriesModel, done, during) {\n if (!coordSys) {\n return null;\n } else if (coordSys.type === 'polar') {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n } else if (coordSys.type === 'cartesian2d') {\n return createGridClipPath(coordSys, hasAnimation, seriesModel, done, during);\n }\n\n return null;\n}\n\nexport { createGridClipPath, createPolarClipPath, createClipPath };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { isFunction, isString } from 'zrender/lib/core/util.js';\nvar samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n } // Return NaN if count is 0\n\n\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(min) ? min : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\n\nvar indexSampler = function (frame) {\n return Math.round(frame.length / 2);\n};\n\nexport default function dataSample(seriesType) {\n return {\n seriesType: seriesType,\n // FIXME:TS never used, so comment it\n // modifyOutputEnd: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var sampling = seriesModel.get('sampling');\n var coordSys = seriesModel.coordinateSystem;\n var count = data.count(); // Only cartesian2d support down sampling. Disable it when there is few data.\n\n if (count > 10 && coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent();\n var dpr = api.getDevicePixelRatio(); // Coordinste system has been resized\n\n var size = Math.abs(extent[1] - extent[0]) * (dpr || 1);\n var rate = Math.round(count / size);\n\n if (isFinite(rate) && rate > 1) {\n if (sampling === 'lttb') {\n seriesModel.setData(data.lttbDownSample(data.mapDimension(valueAxis.dim), 1 / rate));\n }\n\n var sampler = void 0;\n\n if (isString(sampling)) {\n sampler = samplers[sampling];\n } else if (isFunction(sampling)) {\n sampler = sampling;\n }\n\n if (sampler) {\n // Only support sample the first dim mapped from value axis.\n seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n }\n }\n }\n }\n };\n}","export interface IChartData {\n id: string;\n value: number;\n name: string;\n color?: string;\n}\n\ninterface NumberFormatOptions {\n type?: string;\n decimals?: number | string;\n}\n\nenum ValidColorNames {\n aliceblue,\n antiquewhite,\n aqua,\n aquamarine,\n azure,\n beige,\n bisque,\n black,\n blanchedalmond,\n blue,\n blueviolet,\n brown,\n burlywood,\n cadetblue,\n chartreuse,\n chocolate,\n coral,\n cornflowerblue,\n cornsilk,\n crimson,\n cyan,\n darkblue,\n darkcyan,\n darkgoldenrod,\n darkgray,\n darkgreen,\n darkkhaki,\n darkmagenta,\n darkolivegreen,\n darkorange,\n darkorchid,\n darkred,\n darksalmon,\n darkseagreen,\n darkslateblue,\n darkslategray,\n darkturquoise,\n darkviolet,\n deeppink,\n deepskyblue,\n dimgray,\n dodgerblue,\n firebrick,\n floralwhite,\n forestgreen,\n fuchsia,\n gainsboro,\n ghostwhite,\n gold,\n goldenrod,\n gray,\n green,\n greenyellow,\n honeydew,\n hotpink,\n indianred,\n indigo,\n ivory,\n khaki,\n lavender,\n lavenderblush,\n lawngreen,\n lemonchiffon,\n lightblue,\n lightcoral,\n lightcyan,\n lightgoldenrodyellow,\n lightgrey,\n lightgreen,\n lightpink,\n lightsalmon,\n lightseagreen,\n lightskyblue,\n lightslategray,\n lightsteelblue,\n lightyellow,\n lime,\n limegreen,\n linen,\n magenta,\n maroon,\n mediumaquamarine,\n mediumblue,\n mediumorchid,\n mediumpurple,\n mediumseagreen,\n mediumslateblue,\n mediumspringgreen,\n mediumturquoise,\n mediumvioletred,\n midnightblue,\n mintcream,\n mistyrose,\n moccasin,\n navajowhite,\n navy,\n oldlace,\n olive,\n olivedrab,\n orange,\n orangered,\n orchid,\n palegoldenrod,\n palegreen,\n paleturquoise,\n palevioletred,\n papayawhip,\n peachpuff,\n peru,\n pink,\n plum,\n powderblue,\n purple,\n red,\n rosybrown,\n royalblue,\n saddlebrown,\n salmon,\n sandybrown,\n seagreen,\n seashell,\n sienna,\n silver,\n skyblue,\n slateblue,\n slategray,\n snow,\n springgreen,\n steelblue,\n tan,\n teal,\n thistle,\n tomato,\n turquoise,\n violet,\n wheat,\n white,\n whitesmoke,\n yellow,\n yellowgreen,\n}\n\nexport function isValidColor(color: string) {\n const hexRegex = new RegExp('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$');\n const isValidHex = hexRegex.test(color);\n const isValidCSSColorName = !!ValidColorNames[color];\n return isValidHex || isValidCSSColorName;\n}\n\nexport function getCSSProperty(\n name: string,\n containerStyles: CSSStyleDeclaration,\n hostElementStyles: CSSStyleDeclaration\n) {\n if (!name) return;\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n\n let result = containerStyles.getPropertyValue(name).trim();\n if (!result) result = hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n}\n\nexport function formatValue(value: number, format?: NumberFormatOptions) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n const decimals = isNaN(+format.decimals) ? 0 : +format.decimals;\n\n if (format.type === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals,\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n}\n"],"version":3}
1
+ {"file":"charting-d02cba1f.js","mappings":"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","names":["createHashMap","SINGLE_REFERRING","each","CoordinateSystem","zrUtil.map","getDimensionTypeByAxis","zrUtil.each","createSourceFromSeriesDataOption","SOURCE_FORMAT_ORIGINAL","zrUtil.isFunction","zrUtil.curry","makeSeriesEncodeForAxisCoordSys","prepareSeriesDataSchema","enableDataStack","SeriesData","zrUtil.isArray","getDataItemValue","inner","makeInner","getOptionCategoryInterval","makeLabelFormatter","textContain.getBoundingRect","shouldShowAllLabels","getPixelPrecision","linearMap","map","round","__extends","ComponentModel","zrUtil.mixin","zrUtil.merge","zrUtil.defaults","merge","fetchLayoutMode","getLayoutParams","mergeLayoutParam","OrdinalMeta","zrUtil.filter","invert","BoundingRect","applyTransform","IntervalScale","getScaleExtent","increaseInterval","keys","isIntervalOrLogScale","niceScaleExtent","getLayoutRect","estimateLabelUnionRect","isObject","indexOf","createScaleByModel","isCartesian2DSeries","findAxisModels","getDataDimensionsOnAxis","ifAxisCrossZero","zrUtil.createHashMap","graphic.Rect","graphic.Group","cartesianAxisHelper.layout","AxisBuilder","zrUtil.extend","graphic.groupTransition","AxisView","graphic.Line","graphic.subPixelOptimizeLine","Rect","defaults","ComponentView","install","use","installSimple","installAxisPointer","zrUtil.retrieve2","graphic.Text","createTextStyle","windowOpen","getECData","retrieveRawValue","isArray","isFunction","graphic.initProps","graphic.Sector","isString"],"sources":["../../node_modules/echarts/lib/model/referHelper.js","../../node_modules/echarts/lib/chart/helper/createSeriesData.js","../../node_modules/echarts/lib/coord/axisModelCommonMixin.js","../../node_modules/echarts/lib/coord/axisTickLabelBuilder.js","../../node_modules/echarts/lib/coord/Axis.js","../../node_modules/echarts/lib/coord/cartesian/GridModel.js","../../node_modules/echarts/lib/coord/cartesian/AxisModel.js","../../node_modules/echarts/lib/coord/axisDefault.js","../../node_modules/echarts/lib/coord/axisCommonTypes.js","../../node_modules/echarts/lib/coord/axisModelCreator.js","../../node_modules/echarts/lib/coord/cartesian/Cartesian.js","../../node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","../../node_modules/echarts/lib/coord/cartesian/Axis2D.js","../../node_modules/echarts/lib/coord/axisAlignTicks.js","../../node_modules/echarts/lib/coord/cartesian/Grid.js","../../node_modules/echarts/lib/component/axis/axisSplitHelper.js","../../node_modules/echarts/lib/component/axis/CartesianAxisView.js","../../node_modules/echarts/lib/component/grid/installSimple.js","../../node_modules/echarts/lib/component/grid/install.js","../../node_modules/echarts/lib/component/title/install.js","../../node_modules/echarts/lib/chart/helper/labelHelper.js","../../node_modules/echarts/lib/coord/CoordinateSystem.js","../../node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","../../node_modules/echarts/lib/processor/dataSample.js","./src/utils/charting.tsx"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Helper for model references.\n * There are many manners to refer axis/coordSys.\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\nimport { createHashMap, retrieve, each } from 'zrender/lib/core/util.js';\nimport { SINGLE_REFERRING } from '../util/model.js';\n/**\n * @class\n * For example:\n * {\n * coordSysName: 'cartesian2d',\n * coordSysDims: ['x', 'y', ...],\n * axisMap: HashMap({\n * x: xAxisModel,\n * y: yAxisModel\n * }),\n * categoryAxisMap: HashMap({\n * x: xAxisModel,\n * y: undefined\n * }),\n * // The index of the first category axis in `coordSysDims`.\n * // `null/undefined` means no category axis exists.\n * firstCategoryDimIndex: 1,\n * // To replace user specified encode.\n * }\n */\n\nvar CoordSysInfo =\n/** @class */\nfunction () {\n function CoordSysInfo(coordSysName) {\n this.coordSysDims = [];\n this.axisMap = createHashMap();\n this.categoryAxisMap = createHashMap();\n this.coordSysName = coordSysName;\n }\n\n return CoordSysInfo;\n}();\n\nexport function getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\n\n if (fetch) {\n fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n return result;\n }\n}\nvar fetchers = {\n cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n var xAxisModel = seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!xAxisModel) {\n throw new Error('xAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('xAxisId'), 0) + '\" not found');\n }\n\n if (!yAxisModel) {\n throw new Error('yAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('yAxisId'), 0) + '\" not found');\n }\n }\n\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(yAxisModel)) {\n categoryAxisMap.set('y', yAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n var singleAxisModel = seriesModel.getReferringComponents('singleAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!singleAxisModel) {\n throw new Error('singleAxis should be specified.');\n }\n }\n\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\n\n if (isCategory(singleAxisModel)) {\n categoryAxisMap.set('single', singleAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n },\n polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n var polarModel = seriesModel.getReferringComponents('polar', SINGLE_REFERRING).models[0];\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n\n if (process.env.NODE_ENV !== 'production') {\n if (!angleAxisModel) {\n throw new Error('angleAxis option not found');\n }\n\n if (!radiusAxisModel) {\n throw new Error('radiusAxis option not found');\n }\n }\n\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(angleAxisModel)) {\n categoryAxisMap.set('angle', angleAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n result.coordSysDims = ['lng', 'lat'];\n },\n parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n var ecModel = seriesModel.ecModel;\n var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n each(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n var axisDim = coordSysDims[index];\n axisMap.set(axisDim, axisModel);\n\n if (isCategory(axisModel)) {\n categoryAxisMap.set(axisDim, axisModel);\n\n if (result.firstCategoryDimIndex == null) {\n result.firstCategoryDimIndex = index;\n }\n }\n });\n }\n};\n\nfunction isCategory(axisModel) {\n return axisModel.get('type') === 'category';\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport SeriesData from '../../data/SeriesData.js';\nimport prepareSeriesDataSchema from '../../data/helper/createDimensions.js';\nimport { getDimensionTypeByAxis } from '../../data/helper/dimensionHelper.js';\nimport { getDataItemValue } from '../../util/model.js';\nimport CoordinateSystem from '../../core/CoordinateSystem.js';\nimport { getCoordSysInfoBySeries } from '../../model/referHelper.js';\nimport { createSourceFromSeriesDataOption } from '../../data/Source.js';\nimport { enableDataStack } from '../../data/helper/dataStackHelper.js';\nimport { makeSeriesEncodeForAxisCoordSys } from '../../data/helper/sourceHelper.js';\nimport { SOURCE_FORMAT_ORIGINAL } from '../../util/types.js';\n\nfunction getCoordSysDimDefs(seriesModel, coordSysInfo) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDimDefs;\n\n if (coordSysInfo && coordSysInfo.coordSysDims) {\n coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysInfo.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n return coordSysDimDefs;\n}\n\nfunction injectOrdinalMeta(dimInfoList, createInvertedIndices, coordSysInfo) {\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n\n if (createInvertedIndices) {\n dimInfo.createInvertedIndices = true;\n }\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n return firstCategoryDimIndex;\n}\n/**\n * Caution: there are side effects to `sourceManager` in this method.\n * Should better only be called in `Series['getInitialData']`.\n */\n\n\nfunction createSeriesData(sourceRaw, seriesModel, opt) {\n opt = opt || {};\n var sourceManager = seriesModel.getSourceManager();\n var source;\n var isOriginalSource = false;\n\n if (sourceRaw) {\n isOriginalSource = true;\n source = createSourceFromSeriesDataOption(sourceRaw);\n } else {\n source = sourceManager.getSource(); // Is series.data. not dataset.\n\n isOriginalSource = source.sourceFormat === SOURCE_FORMAT_ORIGINAL;\n }\n\n var coordSysInfo = getCoordSysInfoBySeries(seriesModel);\n var coordSysDimDefs = getCoordSysDimDefs(seriesModel, coordSysInfo);\n var useEncodeDefaulter = opt.useEncodeDefaulter;\n var encodeDefaulter = zrUtil.isFunction(useEncodeDefaulter) ? useEncodeDefaulter : useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null;\n var createDimensionOptions = {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord,\n encodeDefine: seriesModel.getEncode(),\n encodeDefaulter: encodeDefaulter,\n canOmitUnusedDimensions: !isOriginalSource\n };\n var schema = prepareSeriesDataSchema(source, createDimensionOptions);\n var firstCategoryDimIndex = injectOrdinalMeta(schema.dimensions, opt.createInvertedIndices, coordSysInfo);\n var store = !isOriginalSource ? sourceManager.getSharedDataStore(schema) : null;\n var stackCalculationInfo = enableDataStack(seriesModel, {\n schema: schema,\n store: store\n });\n var data = new SeriesData(schema, seriesModel);\n data.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n data.hasItemOption = false;\n data.initData( // Try to reuse the data store in sourceManager if using dataset.\n isOriginalSource ? source : store, null, dimValueGetter);\n return data;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(arr) {\n var i = 0;\n\n while (i < arr.length && arr[i] == null) {\n i++;\n }\n\n return arr[i];\n}\n\nexport default createSeriesData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar AxisModelCommonMixin =\n/** @class */\nfunction () {\n function AxisModelCommonMixin() {}\n\n AxisModelCommonMixin.prototype.getNeedCrossZero = function () {\n var option = this.option;\n return !option.scale;\n };\n /**\n * Should be implemented by each axis model if necessary.\n * @return coordinate system model\n */\n\n\n AxisModelCommonMixin.prototype.getCoordSysModel = function () {\n return;\n };\n\n return AxisModelCommonMixin;\n}();\n\nexport { AxisModelCommonMixin };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as textContain from 'zrender/lib/contain/text.js';\nimport { makeInner } from '../util/model.js';\nimport { makeLabelFormatter, getOptionCategoryInterval, shouldShowAllLabels } from './axisHelper.js';\nvar inner = makeInner();\nexport function createAxisLabels(axis) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\n * @param {module:echats/coord/Axis} axis\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\n * @return {Object} {\n * ticks: Array.<number>\n * tickCategoryInterval: number\n * }\n */\n\nexport function createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: zrUtil.map(axis.scale.getTicks(), function (tick) {\n return tick.value;\n })\n };\n}\n\nfunction makeCategoryLabels(axis) {\n var labelModel = axis.getLabelModel();\n var result = makeCategoryLabelsActually(axis, labelModel);\n return !labelModel.get('show') || axis.scale.isBlank() ? {\n labels: [],\n labelCategoryInterval: result.labelCategoryInterval\n } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n var labelsCache = getListCache(axis, 'labels');\n var optionLabelInterval = getOptionCategoryInterval(labelModel);\n var result = listCacheGet(labelsCache, optionLabelInterval);\n\n if (result) {\n return result;\n }\n\n var labels;\n var numericLabelInterval;\n\n if (zrUtil.isFunction(optionLabelInterval)) {\n labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n } else {\n numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n } // Cache to avoid calling interval function repeatedly.\n\n\n return listCacheSet(labelsCache, optionLabelInterval, {\n labels: labels,\n labelCategoryInterval: numericLabelInterval\n });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n var ticksCache = getListCache(axis, 'ticks');\n var optionTickInterval = getOptionCategoryInterval(tickModel);\n var result = listCacheGet(ticksCache, optionTickInterval);\n\n if (result) {\n return result;\n }\n\n var ticks;\n var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n // we should not return all ticks.\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n ticks = [];\n }\n\n if (zrUtil.isFunction(optionTickInterval)) {\n ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n } // Always use label interval by default despite label show. Consider this\n // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n // labels. `splitLine` and `axisTick` should be consistent in this case.\n else if (optionTickInterval === 'auto') {\n var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n tickCategoryInterval = labelsResult.labelCategoryInterval;\n ticks = zrUtil.map(labelsResult.labels, function (labelItem) {\n return labelItem.tickValue;\n });\n } else {\n tickCategoryInterval = optionTickInterval;\n ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n } // Cache to avoid calling interval function repeatedly.\n\n\n return listCacheSet(ticksCache, optionTickInterval, {\n ticks: ticks,\n tickCategoryInterval: tickCategoryInterval\n });\n}\n\nfunction makeRealNumberLabels(axis) {\n var ticks = axis.scale.getTicks();\n var labelFormatter = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tick, idx) {\n return {\n level: tick.level,\n formattedLabel: labelFormatter(tick, idx),\n rawLabel: axis.scale.getLabel(tick),\n tickValue: tick.value\n };\n })\n };\n}\n\nfunction getListCache(axis, prop) {\n // Because key can be a function, and cache size always is small, we use array cache.\n return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].key === key) {\n return cache[i].value;\n }\n }\n}\n\nfunction listCacheSet(cache, key, value) {\n cache.push({\n key: key,\n value: value\n });\n return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n var result = inner(axis).autoInterval;\n return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\n * Calculate interval for category axis ticks and labels.\n * To get precise result, at least one of `getRotate` and `isHorizontal`\n * should be implemented in axis.\n */\n\n\nexport function calculateCategoryInterval(axis) {\n var params = fetchAutoCategoryIntervalCalculationParams(axis);\n var labelFormatter = makeLabelFormatter(axis);\n var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n if (tickCount > 40) {\n step = Math.max(1, Math.floor(tickCount / 40));\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitW = Math.abs(unitSpan * Math.cos(rotation));\n var unitH = Math.abs(unitSpan * Math.sin(rotation));\n var maxW = 0;\n var maxH = 0; // Caution: Performance sensitive for large category data.\n // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n var width = 0;\n var height = 0; // Not precise, do not consider align and vertical align\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(labelFormatter({\n value: tickValue\n }), params.font, 'center', 'top'); // Magic number\n\n width = rect.width * 1.3;\n height = rect.height * 1.3; // Min size, void long loop.\n\n maxW = Math.max(maxW, width, 7);\n maxH = Math.max(maxH, height, 7);\n }\n\n var dw = maxW / unitW;\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dw) && (dw = Infinity);\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n var cache = inner(axis.model);\n var axisExtent = axis.getExtent();\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n // The jitter will cause that sometimes the displayed labels are\n // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n // be used. Otherwise some hidden labels might not be shown again.\n && cache.axisExtent0 === axisExtent[0] && cache.axisExtent1 === axisExtent[1]) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n cache.axisExtent0 = axisExtent[0];\n cache.axisExtent1 = axisExtent[1];\n }\n\n return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n var labelModel = axis.getLabelModel();\n return {\n axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n labelRotate: labelModel.get('rotate') || 0,\n font: labelModel.getFont()\n };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n var labelFormatter = makeLabelFormatter(axis);\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent();\n var labelModel = axis.getLabelModel();\n var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n var step = Math.max((categoryInterval || 0) + 1, 1);\n var startTick = ordinalExtent[0];\n var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n // while zooming and moving while interval > 0. Otherwise the selection\n // of displayable ticks and symbols probably keep changing.\n // 3 is empirical value.\n\n if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n startTick = Math.round(Math.ceil(startTick / step) * step);\n } // (1) Only add min max label here but leave overlap checking\n // to render stage, which also ensure the returned list\n // suitable for splitLine and splitArea rendering.\n // (2) Scales except category always contain min max label so\n // do not need to perform this process.\n\n\n var showAllLabel = shouldShowAllLabels(axis);\n var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n if (includeMinLabel && startTick !== ordinalExtent[0]) {\n addItem(ordinalExtent[0]);\n } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n var tickValue = startTick;\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n addItem(tickValue);\n }\n\n if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n addItem(ordinalExtent[1]);\n }\n\n function addItem(tickValue) {\n var tickObj = {\n value: tickValue\n };\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickObj),\n rawLabel: ordinalScale.getLabel(tickObj),\n tickValue: tickValue\n });\n }\n\n return result;\n}\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tick) {\n var rawLabel = ordinalScale.getLabel(tick);\n var tickValue = tick.value;\n\n if (categoryInterval(tick.value, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tick),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { each, map } from 'zrender/lib/core/util.js';\nimport { linearMap, getPixelPrecision, round } from '../util/number.js';\nimport { createAxisTicks, createAxisLabels, calculateCategoryInterval } from './axisTickLabelBuilder.js';\nvar NORMALIZED_EXTENT = [0, 1];\n/**\n * Base class of Axis.\n */\n\nvar Axis =\n/** @class */\nfunction () {\n function Axis(dim, scale, extent) {\n this.onBand = false;\n this.inverse = false;\n this.dim = dim;\n this.scale = scale;\n this._extent = extent || [0, 0];\n }\n /**\n * If axis extent contain given coord\n */\n\n\n Axis.prototype.contain = function (coord) {\n var extent = this._extent;\n var min = Math.min(extent[0], extent[1]);\n var max = Math.max(extent[0], extent[1]);\n return coord >= min && coord <= max;\n };\n /**\n * If axis extent contain given data\n */\n\n\n Axis.prototype.containData = function (data) {\n return this.scale.contain(data);\n };\n /**\n * Get coord extent.\n */\n\n\n Axis.prototype.getExtent = function () {\n return this._extent.slice();\n };\n /**\n * Get precision used for formatting\n */\n\n\n Axis.prototype.getPixelPrecision = function (dataExtent) {\n return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);\n };\n /**\n * Set coord extent\n */\n\n\n Axis.prototype.setExtent = function (start, end) {\n var extent = this._extent;\n extent[0] = start;\n extent[1] = end;\n };\n /**\n * Convert data to coord. Data is the rank if it has an ordinal scale\n */\n\n\n Axis.prototype.dataToCoord = function (data, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n data = scale.normalize(data);\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n return linearMap(data, NORMALIZED_EXTENT, extent, clamp);\n };\n /**\n * Convert coord to data. Data is the rank if it has an ordinal scale\n */\n\n\n Axis.prototype.coordToData = function (coord, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n var t = linearMap(coord, extent, NORMALIZED_EXTENT, clamp);\n return this.scale.scale(t);\n };\n /**\n * Convert pixel point to data in axis\n */\n\n\n Axis.prototype.pointToData = function (point, clamp) {\n // Should be implemented in derived class if necessary.\n return;\n };\n /**\n * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,\n * `axis.getTicksCoords` considers `onBand`, which is used by\n * `boundaryGap:true` of category axis and splitLine and splitArea.\n * @param opt.tickModel default: axis.model.getModel('axisTick')\n * @param opt.clamp If `true`, the first and the last\n * tick must be at the axis end points. Otherwise, clip ticks\n * that outside the axis extent.\n */\n\n\n Axis.prototype.getTicksCoords = function (opt) {\n opt = opt || {};\n var tickModel = opt.tickModel || this.getTickModel();\n var result = createAxisTicks(this, tickModel);\n var ticks = result.ticks;\n var ticksCoords = map(ticks, function (tickVal) {\n return {\n coord: this.dataToCoord(this.scale.type === 'ordinal' ? this.scale.getRawOrdinalNumber(tickVal) : tickVal),\n tickValue: tickVal\n };\n }, this);\n var alignWithLabel = tickModel.get('alignWithLabel');\n fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);\n return ticksCoords;\n };\n\n Axis.prototype.getMinorTicksCoords = function () {\n if (this.scale.type === 'ordinal') {\n // Category axis doesn't support minor ticks\n return [];\n }\n\n var minorTickModel = this.model.getModel('minorTick');\n var splitNumber = minorTickModel.get('splitNumber'); // Protection.\n\n if (!(splitNumber > 0 && splitNumber < 100)) {\n splitNumber = 5;\n }\n\n var minorTicks = this.scale.getMinorTicks(splitNumber);\n var minorTicksCoords = map(minorTicks, function (minorTicksGroup) {\n return map(minorTicksGroup, function (minorTick) {\n return {\n coord: this.dataToCoord(minorTick),\n tickValue: minorTick\n };\n }, this);\n }, this);\n return minorTicksCoords;\n };\n\n Axis.prototype.getViewLabels = function () {\n return createAxisLabels(this).labels;\n };\n\n Axis.prototype.getLabelModel = function () {\n return this.model.getModel('axisLabel');\n };\n /**\n * Notice here we only get the default tick model. For splitLine\n * or splitArea, we should pass the splitLineModel or splitAreaModel\n * manually when calling `getTicksCoords`.\n * In GL, this method may be overridden to:\n * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`\n */\n\n\n Axis.prototype.getTickModel = function () {\n return this.model.getModel('axisTick');\n };\n /**\n * Get width of band\n */\n\n\n Axis.prototype.getBandWidth = function () {\n var axisExtent = this._extent;\n var dataExtent = this.scale.getExtent();\n var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0); // Fix #2728, avoid NaN when only one data.\n\n len === 0 && (len = 1);\n var size = Math.abs(axisExtent[1] - axisExtent[0]);\n return Math.abs(size) / len;\n };\n /**\n * Only be called in category axis.\n * Can be overridden, consider other axes like in 3D.\n * @return Auto interval for cateogry axis tick and label\n */\n\n\n Axis.prototype.calculateCategoryInterval = function () {\n return calculateCategoryInterval(this);\n };\n\n return Axis;\n}();\n\nfunction fixExtentWithBands(extent, nTick) {\n var size = extent[1] - extent[0];\n var len = nTick;\n var margin = size / len / 2;\n extent[0] += margin;\n extent[1] -= margin;\n} // If axis has labels [1, 2, 3, 4]. Bands on the axis are\n// |---1---|---2---|---3---|---4---|.\n// So the displayed ticks and splitLine/splitArea should between\n// each data item, otherwise cause misleading (e.g., split tow bars\n// of a single data item when there are two bar series).\n// Also consider if tickCategoryInterval > 0 and onBand, ticks and\n// splitLine/spliteArea should layout appropriately corresponding\n// to displayed labels. (So we should not use `getBandWidth` in this\n// case).\n\n\nfunction fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp) {\n var ticksLen = ticksCoords.length;\n\n if (!axis.onBand || alignWithLabel || !ticksLen) {\n return;\n }\n\n var axisExtent = axis.getExtent();\n var last;\n var diffSize;\n\n if (ticksLen === 1) {\n ticksCoords[0].coord = axisExtent[0];\n last = ticksCoords[1] = {\n coord: axisExtent[0]\n };\n } else {\n var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;\n var shift_1 = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;\n each(ticksCoords, function (ticksItem) {\n ticksItem.coord -= shift_1 / 2;\n });\n var dataExtent = axis.scale.getExtent();\n diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;\n last = {\n coord: ticksCoords[ticksLen - 1].coord + shift_1 * diffSize\n };\n ticksCoords.push(last);\n }\n\n var inverse = axisExtent[0] > axisExtent[1]; // Handling clamp.\n\n if (littleThan(ticksCoords[0].coord, axisExtent[0])) {\n clamp ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();\n }\n\n if (clamp && littleThan(axisExtent[0], ticksCoords[0].coord)) {\n ticksCoords.unshift({\n coord: axisExtent[0]\n });\n }\n\n if (littleThan(axisExtent[1], last.coord)) {\n clamp ? last.coord = axisExtent[1] : ticksCoords.pop();\n }\n\n if (clamp && littleThan(last.coord, axisExtent[1])) {\n ticksCoords.push({\n coord: axisExtent[1]\n });\n }\n\n function littleThan(a, b) {\n // Avoid rounding error cause calculated tick coord different with extent.\n // It may cause an extra unnecessary tick added.\n a = round(a);\n b = round(b);\n return inverse ? a > b : a < b;\n }\n}\n\nexport default Axis;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport ComponentModel from '../../model/Component.js';\n\nvar GridModel =\n/** @class */\nfunction (_super) {\n __extends(GridModel, _super);\n\n function GridModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n GridModel.type = 'grid';\n GridModel.dependencies = ['xAxis', 'yAxis'];\n GridModel.layoutMode = 'box';\n GridModel.defaultOption = {\n show: false,\n // zlevel: 0,\n z: 0,\n left: '10%',\n top: 60,\n right: '10%',\n bottom: 70,\n // If grid size contain label\n containLabel: false,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 1,\n borderColor: '#ccc'\n };\n return GridModel;\n}(ComponentModel);\n\nexport default GridModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport ComponentModel from '../../model/Component.js';\nimport { AxisModelCommonMixin } from '../axisModelCommonMixin.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\n\nvar CartesianAxisModel =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisModel, _super);\n\n function CartesianAxisModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n CartesianAxisModel.prototype.getCoordSysModel = function () {\n return this.getReferringComponents('grid', SINGLE_REFERRING).models[0];\n };\n\n CartesianAxisModel.type = 'cartesian2dAxis';\n return CartesianAxisModel;\n}(ComponentModel);\n\nexport { CartesianAxisModel };\nzrUtil.mixin(CartesianAxisModel, AxisModelCommonMixin);\nexport default CartesianAxisModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar defaultOption = {\n show: true,\n // zlevel: 0,\n z: 0,\n // Inverse the axis.\n inverse: false,\n // Axis name displayed.\n name: '',\n // 'start' | 'middle' | 'end'\n nameLocation: 'end',\n // By degree. By default auto rotate by nameLocation.\n nameRotate: null,\n nameTruncate: {\n maxWidth: null,\n ellipsis: '...',\n placeholder: '.'\n },\n // Use global text style by default.\n nameTextStyle: {},\n // The gap between axisName and axisLine.\n nameGap: 15,\n // Default `false` to support tooltip.\n silent: false,\n // Default `false` to avoid legacy user event listener fail.\n triggerEvent: false,\n tooltip: {\n show: false\n },\n axisPointer: {},\n axisLine: {\n show: true,\n onZero: true,\n onZeroAxisIndex: null,\n lineStyle: {\n color: '#6E7079',\n width: 1,\n type: 'solid'\n },\n // The arrow at both ends the the axis.\n symbol: ['none', 'none'],\n symbolSize: [10, 15]\n },\n axisTick: {\n show: true,\n // Whether axisTick is inside the grid or outside the grid.\n inside: false,\n // The length of axisTick.\n length: 5,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n // Whether axisLabel is inside the grid or outside the grid.\n inside: false,\n rotate: 0,\n // true | false | null/undefined (auto)\n showMinLabel: null,\n // true | false | null/undefined (auto)\n showMaxLabel: null,\n margin: 8,\n // formatter: null,\n fontSize: 12\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#E0E6F1'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)']\n }\n }\n};\nvar categoryAxis = zrUtil.merge({\n // The gap at both ends of the axis. For categoryAxis, boolean.\n boundaryGap: true,\n // Set false to faster category collection.\n deduplication: null,\n // splitArea: {\n // show: false\n // },\n splitLine: {\n show: false\n },\n axisTick: {\n // If tick is align with label when boundaryGap is true\n alignWithLabel: false,\n interval: 'auto'\n },\n axisLabel: {\n interval: 'auto'\n }\n}, defaultOption);\nvar valueAxis = zrUtil.merge({\n boundaryGap: [0, 0],\n axisLine: {\n // Not shown when other axis is categoryAxis in cartesian\n show: 'auto'\n },\n axisTick: {\n // Not shown when other axis is categoryAxis in cartesian\n show: 'auto'\n },\n // TODO\n // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n splitNumber: 5,\n minorTick: {\n // Minor tick, not available for cateogry axis.\n show: false,\n // Split number of minor ticks. The value should be in range of (0, 100)\n splitNumber: 5,\n // Length of minor tick\n length: 3,\n // Line style\n lineStyle: {// Default to be same with axisTick\n }\n },\n minorSplitLine: {\n show: false,\n lineStyle: {\n color: '#F4F7FD',\n width: 1\n }\n }\n}, defaultOption);\nvar timeAxis = zrUtil.merge({\n splitNumber: 6,\n axisLabel: {\n // To eliminate labels that are not nice\n showMinLabel: false,\n showMaxLabel: false,\n rich: {\n primary: {\n fontWeight: 'bold'\n }\n }\n },\n splitLine: {\n show: false\n }\n}, valueAxis);\nvar logAxis = zrUtil.defaults({\n logBase: 10\n}, valueAxis);\nexport default {\n category: categoryAxis,\n value: valueAxis,\n time: timeAxis,\n log: logAxis\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport var AXIS_TYPES = {\n value: 1,\n category: 1,\n time: 1,\n log: 1\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport axisDefault from './axisDefault.js';\nimport { getLayoutParams, mergeLayoutParam, fetchLayoutMode } from '../util/layout.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport { AXIS_TYPES } from './axisCommonTypes.js';\nimport { each, merge } from 'zrender/lib/core/util.js';\n/**\n * Generate sub axis model class\n * @param axisName 'x' 'y' 'radius' 'angle' 'parallel' ...\n */\n\nexport default function axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) {\n each(AXIS_TYPES, function (v, axisType) {\n var defaultOption = merge(merge({}, axisDefault[axisType], true), extraDefaultOption, true);\n\n var AxisModel =\n /** @class */\n function (_super) {\n __extends(AxisModel, _super);\n\n function AxisModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = axisName + 'Axis.' + axisType;\n return _this;\n }\n\n AxisModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n var layoutMode = fetchLayoutMode(this);\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n merge(option, themeModel.get(axisType + 'Axis'));\n merge(option, this.getDefaultOption());\n option.type = getAxisType(option);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n };\n\n AxisModel.prototype.optionUpdated = function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);\n }\n };\n /**\n * Should not be called before all of 'getInitailData' finished.\n * Because categories are collected during initializing data.\n */\n\n\n AxisModel.prototype.getCategories = function (rawData) {\n var option = this.option; // FIXME\n // warning if called before all of 'getInitailData' finished.\n\n if (option.type === 'category') {\n if (rawData) {\n return option.data;\n }\n\n return this.__ordinalMeta.categories;\n }\n };\n\n AxisModel.prototype.getOrdinalMeta = function () {\n return this.__ordinalMeta;\n };\n\n AxisModel.type = axisName + 'Axis.' + axisType;\n AxisModel.defaultOption = defaultOption;\n return AxisModel;\n }(BaseAxisModelClass);\n\n registers.registerComponentModel(AxisModel);\n });\n registers.registerSubTypeDefaulter(axisName + 'Axis', getAxisType);\n}\n\nfunction getAxisType(option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\n\nvar Cartesian =\n/** @class */\nfunction () {\n function Cartesian(name) {\n this.type = 'cartesian';\n this._dimList = [];\n this._axes = {};\n this.name = name || '';\n }\n\n Cartesian.prototype.getAxis = function (dim) {\n return this._axes[dim];\n };\n\n Cartesian.prototype.getAxes = function () {\n return zrUtil.map(this._dimList, function (dim) {\n return this._axes[dim];\n }, this);\n };\n\n Cartesian.prototype.getAxesByScale = function (scaleType) {\n scaleType = scaleType.toLowerCase();\n return zrUtil.filter(this.getAxes(), function (axis) {\n return axis.scale.type === scaleType;\n });\n };\n\n Cartesian.prototype.addAxis = function (axis) {\n var dim = axis.dim;\n this._axes[dim] = axis;\n\n this._dimList.push(dim);\n };\n\n return Cartesian;\n}();\n\n;\nexport default Cartesian;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport Cartesian from './Cartesian.js';\nimport { invert } from 'zrender/lib/core/matrix.js';\nimport { applyTransform } from 'zrender/lib/core/vector.js';\nexport var cartesian2DDimensions = ['x', 'y'];\n\nfunction canCalculateAffineTransform(scale) {\n return scale.type === 'interval' || scale.type === 'time';\n}\n\nvar Cartesian2D =\n/** @class */\nfunction (_super) {\n __extends(Cartesian2D, _super);\n\n function Cartesian2D() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'cartesian2d';\n _this.dimensions = cartesian2DDimensions;\n return _this;\n }\n /**\n * Calculate an affine transform matrix if two axes are time or value.\n * It's mainly for accelartion on the large time series data.\n */\n\n\n Cartesian2D.prototype.calcAffineTransform = function () {\n this._transform = this._invTransform = null;\n var xAxisScale = this.getAxis('x').scale;\n var yAxisScale = this.getAxis('y').scale;\n\n if (!canCalculateAffineTransform(xAxisScale) || !canCalculateAffineTransform(yAxisScale)) {\n return;\n }\n\n var xScaleExtent = xAxisScale.getExtent();\n var yScaleExtent = yAxisScale.getExtent();\n var start = this.dataToPoint([xScaleExtent[0], yScaleExtent[0]]);\n var end = this.dataToPoint([xScaleExtent[1], yScaleExtent[1]]);\n var xScaleSpan = xScaleExtent[1] - xScaleExtent[0];\n var yScaleSpan = yScaleExtent[1] - yScaleExtent[0];\n\n if (!xScaleSpan || !yScaleSpan) {\n return;\n } // Accelerate data to point calculation on the special large time series data.\n\n\n var scaleX = (end[0] - start[0]) / xScaleSpan;\n var scaleY = (end[1] - start[1]) / yScaleSpan;\n var translateX = start[0] - xScaleExtent[0] * scaleX;\n var translateY = start[1] - yScaleExtent[0] * scaleY;\n var m = this._transform = [scaleX, 0, 0, scaleY, translateX, translateY];\n this._invTransform = invert([], m);\n };\n /**\n * Base axis will be used on stacking.\n */\n\n\n Cartesian2D.prototype.getBaseAxis = function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n };\n\n Cartesian2D.prototype.containPoint = function (point) {\n var axisX = this.getAxis('x');\n var axisY = this.getAxis('y');\n return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n };\n\n Cartesian2D.prototype.containData = function (data) {\n return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n };\n\n Cartesian2D.prototype.containZone = function (data1, data2) {\n var zoneDiag1 = this.dataToPoint(data1);\n var zoneDiag2 = this.dataToPoint(data2);\n var area = this.getArea();\n var zone = new BoundingRect(zoneDiag1[0], zoneDiag1[1], zoneDiag2[0] - zoneDiag1[0], zoneDiag2[1] - zoneDiag1[1]);\n return area.intersect(zone);\n };\n\n Cartesian2D.prototype.dataToPoint = function (data, clamp, out) {\n out = out || [];\n var xVal = data[0];\n var yVal = data[1]; // Fast path\n\n if (this._transform // It's supported that if data is like `[Inifity, 123]`, where only Y pixel calculated.\n && xVal != null && isFinite(xVal) && yVal != null && isFinite(yVal)) {\n return applyTransform(out, data, this._transform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp));\n out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp));\n return out;\n };\n\n Cartesian2D.prototype.clampData = function (data, out) {\n var xScale = this.getAxis('x').scale;\n var yScale = this.getAxis('y').scale;\n var xAxisExtent = xScale.getExtent();\n var yAxisExtent = yScale.getExtent();\n var x = xScale.parse(data[0]);\n var y = yScale.parse(data[1]);\n out = out || [];\n out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n return out;\n };\n\n Cartesian2D.prototype.pointToData = function (point, clamp) {\n var out = [];\n\n if (this._invTransform) {\n return applyTransform(out, point, this._invTransform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]), clamp);\n out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]), clamp);\n return out;\n };\n\n Cartesian2D.prototype.getOtherAxis = function (axis) {\n return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n };\n /**\n * Get rect area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n */\n\n\n Cartesian2D.prototype.getArea = function () {\n var xExtent = this.getAxis('x').getGlobalExtent();\n var yExtent = this.getAxis('y').getGlobalExtent();\n var x = Math.min(xExtent[0], xExtent[1]);\n var y = Math.min(yExtent[0], yExtent[1]);\n var width = Math.max(xExtent[0], xExtent[1]) - x;\n var height = Math.max(yExtent[0], yExtent[1]) - y;\n return new BoundingRect(x, y, width, height);\n };\n\n return Cartesian2D;\n}(Cartesian);\n\n;\nexport default Cartesian2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport Axis from '../Axis.js';\n\nvar Axis2D =\n/** @class */\nfunction (_super) {\n __extends(Axis2D, _super);\n\n function Axis2D(dim, scale, coordExtent, axisType, position) {\n var _this = _super.call(this, dim, scale, coordExtent) || this;\n /**\n * Index of axis, can be used as key\n * Injected outside.\n */\n\n\n _this.index = 0;\n _this.type = axisType || 'value';\n _this.position = position || 'bottom';\n return _this;\n }\n\n Axis2D.prototype.isHorizontal = function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n };\n /**\n * Each item cooresponds to this.getExtent(), which\n * means globalExtent[0] may greater than globalExtent[1],\n * unless `asc` is input.\n *\n * @param {boolean} [asc]\n * @return {Array.<number>}\n */\n\n\n Axis2D.prototype.getGlobalExtent = function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n };\n\n Axis2D.prototype.pointToData = function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n };\n /**\n * Set ordinalSortInfo\n * @param info new OrdinalSortInfo\n */\n\n\n Axis2D.prototype.setCategorySortInfo = function (info) {\n if (this.type !== 'category') {\n return false;\n }\n\n this.model.option.categorySortInfo = info;\n this.scale.setSortInfo(info);\n };\n\n return Axis2D;\n}(Axis);\n\nexport default Axis2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { getPrecisionSafe, round } from '../util/number.js';\nimport IntervalScale from '../scale/Interval.js';\nimport { getScaleExtent } from './axisHelper.js';\nimport { warn } from '../util/log.js';\nimport { increaseInterval, isValueNice } from '../scale/helper.js';\nvar mathLog = Math.log;\nexport function alignScaleTicks(scale, axisModel, alignToScale) {\n var intervalScaleProto = IntervalScale.prototype; // NOTE: There is a precondition for log scale here:\n // In log scale we store _interval and _extent of exponent value.\n // So if we use the method of InternalScale to set/get these data.\n // It process the exponent value, which is linear and what we want here.\n\n var alignToTicks = intervalScaleProto.getTicks.call(alignToScale);\n var alignToNicedTicks = intervalScaleProto.getTicks.call(alignToScale, true);\n var alignToSplitNumber = alignToTicks.length - 1;\n var alignToInterval = intervalScaleProto.getInterval.call(alignToScale);\n var scaleExtent = getScaleExtent(scale, axisModel);\n var rawExtent = scaleExtent.extent;\n var isMinFixed = scaleExtent.fixMin;\n var isMaxFixed = scaleExtent.fixMax;\n\n if (scale.type === 'log') {\n var logBase = mathLog(scale.base);\n rawExtent = [mathLog(rawExtent[0]) / logBase, mathLog(rawExtent[1]) / logBase];\n }\n\n scale.setExtent(rawExtent[0], rawExtent[1]);\n scale.calcNiceExtent({\n splitNumber: alignToSplitNumber,\n fixMin: isMinFixed,\n fixMax: isMaxFixed\n });\n var extent = intervalScaleProto.getExtent.call(scale); // Need to update the rawExtent.\n // Because value in rawExtent may be not parsed. e.g. 'dataMin', 'dataMax'\n\n if (isMinFixed) {\n rawExtent[0] = extent[0];\n }\n\n if (isMaxFixed) {\n rawExtent[1] = extent[1];\n }\n\n var interval = intervalScaleProto.getInterval.call(scale);\n var min = rawExtent[0];\n var max = rawExtent[1];\n\n if (isMinFixed && isMaxFixed) {\n // User set min, max, divide to get new interval\n interval = (max - min) / alignToSplitNumber;\n } else if (isMinFixed) {\n max = rawExtent[0] + interval * alignToSplitNumber; // User set min, expand extent on the other side\n\n while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1])) {\n interval = increaseInterval(interval);\n max = rawExtent[0] + interval * alignToSplitNumber;\n }\n } else if (isMaxFixed) {\n // User set max, expand extent on the other side\n min = rawExtent[1] - interval * alignToSplitNumber;\n\n while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0])) {\n interval = increaseInterval(interval);\n min = rawExtent[1] - interval * alignToSplitNumber;\n }\n } else {\n var nicedSplitNumber = scale.getTicks().length - 1;\n\n if (nicedSplitNumber > alignToSplitNumber) {\n interval = increaseInterval(interval);\n }\n\n var range = interval * alignToSplitNumber;\n max = Math.ceil(rawExtent[1] / interval) * interval;\n min = round(max - range); // Not change the result that crossing zero.\n\n if (min < 0 && rawExtent[0] >= 0) {\n min = 0;\n max = round(range);\n } else if (max > 0 && rawExtent[1] <= 0) {\n max = 0;\n min = -round(range);\n }\n } // Adjust min, max based on the extent of alignTo. When min or max is set in alignTo scale\n\n\n var t0 = (alignToTicks[0].value - alignToNicedTicks[0].value) / alignToInterval;\n var t1 = (alignToTicks[alignToSplitNumber].value - alignToNicedTicks[alignToSplitNumber].value) / alignToInterval; // NOTE: Must in setExtent -> setInterval -> setNiceExtent order.\n\n intervalScaleProto.setExtent.call(scale, min + interval * t0, max + interval * t1);\n intervalScaleProto.setInterval.call(scale, interval);\n\n if (t0 || t1) {\n intervalScaleProto.setNiceExtent.call(scale, min + interval, max - interval);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var ticks = intervalScaleProto.getTicks.call(scale);\n\n if (ticks[1] && (!isValueNice(interval) || getPrecisionSafe(ticks[1].value) > getPrecisionSafe(interval))) {\n warn( // eslint-disable-next-line\n \"The ticks may be not readable when set min: \" + axisModel.get('min') + \", max: \" + axisModel.get('max') + \" and alignTicks: true\");\n }\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Grid is a region which contains at most 4 cartesian systems\n *\n * TODO Default cartesian\n */\nimport { isObject, each, indexOf, retrieve3, keys } from 'zrender/lib/core/util.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport { createScaleByModel, ifAxisCrossZero, niceScaleExtent, estimateLabelUnionRect, getDataDimensionsOnAxis } from '../../coord/axisHelper.js';\nimport Cartesian2D, { cartesian2DDimensions } from './Cartesian2D.js';\nimport Axis2D from './Axis2D.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\nimport { isCartesian2DSeries, findAxisModels } from './cartesianAxisHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nimport { alignScaleTicks } from '../axisAlignTicks.js';\n\nvar Grid =\n/** @class */\nfunction () {\n function Grid(gridModel, ecModel, api) {\n // FIXME:TS where used (different from registered type 'cartesian2d')?\n this.type = 'grid';\n this._coordsMap = {};\n this._coordsList = [];\n this._axesMap = {};\n this._axesList = [];\n this.axisPointerEnabled = true;\n this.dimensions = cartesian2DDimensions;\n\n this._initCartesian(gridModel, ecModel, api);\n\n this.model = gridModel;\n }\n\n Grid.prototype.getRect = function () {\n return this._rect;\n };\n\n Grid.prototype.update = function (ecModel, api) {\n var axesMap = this._axesMap;\n\n this._updateScale(ecModel, this.model);\n\n function updateAxisTicks(axes) {\n var alignTo; // Axis is added in order of axisIndex.\n\n var axesIndices = keys(axes);\n var len = axesIndices.length;\n\n if (!len) {\n return;\n }\n\n var axisNeedsAlign = []; // Process once and calculate the ticks for those don't use alignTicks.\n\n for (var i = len - 1; i >= 0; i--) {\n var idx = +axesIndices[i]; // Convert to number.\n\n var axis = axes[idx];\n var model = axis.model;\n var scale = axis.scale;\n\n if ( // Only value and log axis without interval support alignTicks.\n isIntervalOrLogScale(scale) && model.get('alignTicks') && model.get('interval') == null) {\n axisNeedsAlign.push(axis);\n } else {\n niceScaleExtent(scale, model);\n\n if (isIntervalOrLogScale(scale)) {\n // Can only align to interval or log axis.\n alignTo = axis;\n }\n }\n }\n\n ; // All axes has set alignTicks. Pick the first one.\n // PENDING. Should we find the axis that both set interval, min, max and align to this one?\n\n if (axisNeedsAlign.length) {\n if (!alignTo) {\n alignTo = axisNeedsAlign.pop();\n niceScaleExtent(alignTo.scale, alignTo.model);\n }\n\n each(axisNeedsAlign, function (axis) {\n alignScaleTicks(axis.scale, axis.model, alignTo.scale);\n });\n }\n }\n\n updateAxisTicks(axesMap.x);\n updateAxisTicks(axesMap.y); // Key: axisDim_axisIndex, value: boolean, whether onZero target.\n\n var onZeroRecords = {};\n each(axesMap.x, function (xAxis) {\n fixAxisOnZero(axesMap, 'y', xAxis, onZeroRecords);\n });\n each(axesMap.y, function (yAxis) {\n fixAxisOnZero(axesMap, 'x', yAxis, onZeroRecords);\n }); // Resize again if containLabel is enabled\n // FIXME It may cause getting wrong grid size in data processing stage\n\n this.resize(this.model, api);\n };\n /**\n * Resize the grid\n */\n\n\n Grid.prototype.resize = function (gridModel, api, ignoreContainLabel) {\n var boxLayoutParams = gridModel.getBoxLayoutParams();\n var isContainLabel = !ignoreContainLabel && gridModel.get('containLabel');\n var gridRect = getLayoutRect(boxLayoutParams, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n this._rect = gridRect;\n var axesList = this._axesList;\n adjustAxes(); // Minus label size\n\n if (isContainLabel) {\n each(axesList, function (axis) {\n if (!axis.model.get(['axisLabel', 'inside'])) {\n var labelUnionRect = estimateLabelUnionRect(axis);\n\n if (labelUnionRect) {\n var dim = axis.isHorizontal() ? 'height' : 'width';\n var margin = axis.model.get(['axisLabel', 'margin']);\n gridRect[dim] -= labelUnionRect[dim] + margin;\n\n if (axis.position === 'top') {\n gridRect.y += labelUnionRect.height + margin;\n } else if (axis.position === 'left') {\n gridRect.x += labelUnionRect.width + margin;\n }\n }\n }\n });\n adjustAxes();\n }\n\n each(this._coordsList, function (coord) {\n // Calculate affine matrix to accelerate the data to point transform.\n // If all the axes scales are time or value.\n coord.calcAffineTransform();\n });\n\n function adjustAxes() {\n each(axesList, function (axis) {\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n updateAxisTransform(axis, isHorizontal ? gridRect.x : gridRect.y);\n });\n }\n };\n\n Grid.prototype.getAxis = function (dim, axisIndex) {\n var axesMapOnDim = this._axesMap[dim];\n\n if (axesMapOnDim != null) {\n return axesMapOnDim[axisIndex || 0];\n }\n };\n\n Grid.prototype.getAxes = function () {\n return this._axesList.slice();\n };\n\n Grid.prototype.getCartesian = function (xAxisIndex, yAxisIndex) {\n if (xAxisIndex != null && yAxisIndex != null) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n return this._coordsMap[key];\n }\n\n if (isObject(xAxisIndex)) {\n yAxisIndex = xAxisIndex.yAxisIndex;\n xAxisIndex = xAxisIndex.xAxisIndex;\n }\n\n for (var i = 0, coordList = this._coordsList; i < coordList.length; i++) {\n if (coordList[i].getAxis('x').index === xAxisIndex || coordList[i].getAxis('y').index === yAxisIndex) {\n return coordList[i];\n }\n }\n };\n\n Grid.prototype.getCartesians = function () {\n return this._coordsList.slice();\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.convertToPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.convertFromPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n };\n\n Grid.prototype._findConvertTarget = function (finder) {\n var seriesModel = finder.seriesModel;\n var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n var gridModel = finder.gridModel;\n var coordsList = this._coordsList;\n var cartesian;\n var axis;\n\n if (seriesModel) {\n cartesian = seriesModel.coordinateSystem;\n indexOf(coordsList, cartesian) < 0 && (cartesian = null);\n } else if (xAxisModel && yAxisModel) {\n cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n } else if (xAxisModel) {\n axis = this.getAxis('x', xAxisModel.componentIndex);\n } else if (yAxisModel) {\n axis = this.getAxis('y', yAxisModel.componentIndex);\n } // Lowest priority.\n else if (gridModel) {\n var grid = gridModel.coordinateSystem;\n\n if (grid === this) {\n cartesian = this._coordsList[0];\n }\n }\n\n return {\n cartesian: cartesian,\n axis: axis\n };\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.containPoint = function (point) {\n var coord = this._coordsList[0];\n\n if (coord) {\n return coord.containPoint(point);\n }\n };\n /**\n * Initialize cartesian coordinate systems\n */\n\n\n Grid.prototype._initCartesian = function (gridModel, ecModel, api) {\n var _this = this;\n\n var grid = this;\n var axisPositionUsed = {\n left: false,\n right: false,\n top: false,\n bottom: false\n };\n var axesMap = {\n x: {},\n y: {}\n };\n var axesCount = {\n x: 0,\n y: 0\n }; // Create axis\n\n ecModel.eachComponent('xAxis', createAxisCreator('x'), this);\n ecModel.eachComponent('yAxis', createAxisCreator('y'), this);\n\n if (!axesCount.x || !axesCount.y) {\n // Roll back when there no either x or y axis\n this._axesMap = {};\n this._axesList = [];\n return;\n }\n\n this._axesMap = axesMap; // Create cartesian2d\n\n each(axesMap.x, function (xAxis, xAxisIndex) {\n each(axesMap.y, function (yAxis, yAxisIndex) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n var cartesian = new Cartesian2D(key);\n cartesian.master = _this;\n cartesian.model = gridModel;\n _this._coordsMap[key] = cartesian;\n\n _this._coordsList.push(cartesian);\n\n cartesian.addAxis(xAxis);\n cartesian.addAxis(yAxis);\n });\n });\n\n function createAxisCreator(dimName) {\n return function (axisModel, idx) {\n if (!isAxisUsedInTheGrid(axisModel, gridModel)) {\n return;\n }\n\n var axisPosition = axisModel.get('position');\n\n if (dimName === 'x') {\n // Fix position\n if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n // Default bottom of X\n axisPosition = axisPositionUsed.bottom ? 'top' : 'bottom';\n }\n } else {\n // Fix position\n if (axisPosition !== 'left' && axisPosition !== 'right') {\n // Default left of Y\n axisPosition = axisPositionUsed.left ? 'right' : 'left';\n }\n }\n\n axisPositionUsed[axisPosition] = true;\n var axis = new Axis2D(dimName, createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisPosition);\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Inject axis into axisModel\n\n axisModel.axis = axis; // Inject axisModel into axis\n\n axis.model = axisModel; // Inject grid info axis\n\n axis.grid = grid; // Index of axis, can be used as key\n\n axis.index = idx;\n\n grid._axesList.push(axis);\n\n axesMap[dimName][idx] = axis;\n axesCount[dimName]++;\n };\n }\n };\n /**\n * Update cartesian properties from series.\n */\n\n\n Grid.prototype._updateScale = function (ecModel, gridModel) {\n // Reset scale\n each(this._axesList, function (axis) {\n axis.scale.setExtent(Infinity, -Infinity);\n\n if (axis.type === 'category') {\n var categorySortInfo = axis.model.get('categorySortInfo');\n axis.scale.setSortInfo(categorySortInfo);\n }\n });\n ecModel.eachSeries(function (seriesModel) {\n if (isCartesian2DSeries(seriesModel)) {\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n\n if (!isAxisUsedInTheGrid(xAxisModel, gridModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel)) {\n return;\n }\n\n var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n var data = seriesModel.getData();\n var xAxis = cartesian.getAxis('x');\n var yAxis = cartesian.getAxis('y');\n unionExtent(data, xAxis);\n unionExtent(data, yAxis);\n }\n }, this);\n\n function unionExtent(data, axis) {\n each(getDataDimensionsOnAxis(data, axis.dim), function (dim) {\n axis.scale.unionExtentFromData(data, dim);\n });\n }\n };\n /**\n * @param dim 'x' or 'y' or 'auto' or null/undefined\n */\n\n\n Grid.prototype.getTooltipAxes = function (dim) {\n var baseAxes = [];\n var otherAxes = [];\n each(this.getCartesians(), function (cartesian) {\n var baseAxis = dim != null && dim !== 'auto' ? cartesian.getAxis(dim) : cartesian.getBaseAxis();\n var otherAxis = cartesian.getOtherAxis(baseAxis);\n indexOf(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);\n indexOf(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);\n });\n return {\n baseAxes: baseAxes,\n otherAxes: otherAxes\n };\n };\n\n Grid.create = function (ecModel, api) {\n var grids = [];\n ecModel.eachComponent('grid', function (gridModel, idx) {\n var grid = new Grid(gridModel, ecModel, api);\n grid.name = 'grid_' + idx; // dataSampling requires axis extent, so resize\n // should be performed in create stage.\n\n grid.resize(gridModel, api, true);\n gridModel.coordinateSystem = grid;\n grids.push(grid);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (!isCartesian2DSeries(seriesModel)) {\n return;\n }\n\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n var gridModel = xAxisModel.getCoordSysModel();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!gridModel) {\n throw new Error('Grid \"' + retrieve3(xAxisModel.get('gridIndex'), xAxisModel.get('gridId'), 0) + '\" not found');\n }\n\n if (xAxisModel.getCoordSysModel() !== yAxisModel.getCoordSysModel()) {\n throw new Error('xAxis and yAxis must use the same grid');\n }\n }\n\n var grid = gridModel.coordinateSystem;\n seriesModel.coordinateSystem = grid.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n });\n return grids;\n }; // For deciding which dimensions to use when creating list data\n\n\n Grid.dimensions = cartesian2DDimensions;\n return Grid;\n}();\n/**\n * Check if the axis is used in the specified grid.\n */\n\n\nfunction isAxisUsedInTheGrid(axisModel, gridModel) {\n return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, // Key: see `getOnZeroRecordKey`\nonZeroRecords) {\n axis.getAxesOnZeroOf = function () {\n // TODO: onZero of multiple axes.\n return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];\n }; // onZero can not be enabled in these two situations:\n // 1. When any other axis is a category axis.\n // 2. When no axis is cross 0 point.\n\n\n var otherAxes = axesMap[otherAxisDim];\n var otherAxisOnZeroOf;\n var axisModel = axis.model;\n var onZero = axisModel.get(['axisLine', 'onZero']);\n var onZeroAxisIndex = axisModel.get(['axisLine', 'onZeroAxisIndex']);\n\n if (!onZero) {\n return;\n } // If target axis is specified.\n\n\n if (onZeroAxisIndex != null) {\n if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {\n otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];\n }\n } else {\n // Find the first available other axis.\n for (var idx in otherAxes) {\n if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) // Consider that two Y axes on one value axis,\n // if both onZero, the two Y axes overlap.\n && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {\n otherAxisOnZeroOf = otherAxes[idx];\n break;\n }\n }\n }\n\n if (otherAxisOnZeroOf) {\n onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;\n }\n\n function getOnZeroRecordKey(axis) {\n return axis.dim + '_' + axis.index;\n }\n}\n\nfunction canOnZeroToAxis(axis) {\n return axis && axis.type !== 'category' && axis.type !== 'time' && ifAxisCrossZero(axis);\n}\n\nfunction updateAxisTransform(axis, coordBase) {\n var axisExtent = axis.getExtent();\n var axisExtentSum = axisExtent[0] + axisExtent[1]; // Fast transform\n\n axis.toGlobalCoord = axis.dim === 'x' ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n axis.toLocalCoord = axis.dim === 'x' ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n}\n\nexport default Grid;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { makeInner } from '../../util/model.js';\nvar inner = makeInner();\nexport function rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n } // TODO: TYPE\n\n\n var splitAreaModel = axisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var gridRect = gridModel.coordinateSystem.getRect();\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitAreaModel,\n clamp: true\n });\n\n if (!ticksCoords.length) {\n return;\n } // For Making appropriate splitArea animation, the color and anid\n // should be corresponding to previous one if possible.\n\n\n var areaColorsLen = areaColors.length;\n var lastSplitAreaColors = inner(axisView).splitAreaColors;\n var newSplitAreaColors = zrUtil.createHashMap();\n var colorIndex = 0;\n\n if (lastSplitAreaColors) {\n for (var i = 0; i < ticksCoords.length; i++) {\n var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);\n\n if (cIndex != null) {\n colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;\n break;\n }\n }\n }\n\n var prev = axis.toGlobalCoord(ticksCoords[0].coord);\n var areaStyle = areaStyleModel.getAreaStyle();\n areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];\n\n for (var i = 1; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n var x = void 0;\n var y = void 0;\n var width = void 0;\n var height = void 0;\n\n if (axis.isHorizontal()) {\n x = prev;\n y = gridRect.y;\n width = tickCoord - x;\n height = gridRect.height;\n prev = x + width;\n } else {\n x = gridRect.x;\n y = prev;\n width = gridRect.width;\n height = tickCoord - y;\n prev = y + height;\n }\n\n var tickValue = ticksCoords[i - 1].tickValue;\n tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);\n axisGroup.add(new graphic.Rect({\n anid: tickValue != null ? 'area_' + tickValue : null,\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n },\n style: zrUtil.defaults({\n fill: areaColors[colorIndex]\n }, areaStyle),\n autoBatch: true,\n silent: true\n }));\n colorIndex = (colorIndex + 1) % areaColorsLen;\n }\n\n inner(axisView).splitAreaColors = newSplitAreaColors;\n}\nexport function rectCoordAxisHandleRemove(axisView) {\n inner(axisView).splitAreaColors = null;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport AxisBuilder from './AxisBuilder.js';\nimport AxisView from './AxisView.js';\nimport * as cartesianAxisHelper from '../../coord/cartesian/cartesianAxisHelper.js';\nimport { rectCoordAxisBuildSplitArea, rectCoordAxisHandleRemove } from './axisSplitHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\n\nvar CartesianAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisView, _super);\n\n function CartesianAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianAxisView.type;\n _this.axisPointerClass = 'CartesianAxisPointer';\n return _this;\n }\n /**\n * @override\n */\n\n\n CartesianAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var gridModel = axisModel.getCoordSysModel();\n var layout = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, zrUtil.extend({\n handleAutoShown: function (elementType) {\n var cartesians = gridModel.coordinateSystem.getCartesians();\n\n for (var i = 0; i < cartesians.length; i++) {\n if (isIntervalOrLogScale(cartesians[i].getOtherAxis(axisModel.axis).scale)) {\n // Still show axis tick or axisLine if other axis is value / log\n return true;\n }\n } // Not show axisTick or axisLine if other axis is category / time\n\n\n return false;\n }\n }, layout));\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get([name, 'show'])) {\n axisElementBuilders[name](this, this._axisGroup, axisModel, gridModel);\n }\n }, this); // THIS is a special case for bar racing chart.\n // Update the axis label from the natural initial layout to\n // sorted layout should has no animation.\n\n var isInitialSortFromBarRacing = payload && payload.type === 'changeAxisOrder' && payload.isInitSort;\n\n if (!isInitialSortFromBarRacing) {\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n }\n\n _super.prototype.render.call(this, axisModel, ecModel, api, payload);\n };\n\n CartesianAxisView.prototype.remove = function () {\n rectCoordAxisHandleRemove(this);\n };\n\n CartesianAxisView.type = 'cartesianAxis';\n return CartesianAxisView;\n}(AxisView);\n\nvar axisElementBuilders = {\n splitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n var tickValue = ticksCoords[i].tickValue;\n var line = new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n });\n graphic.subPixelOptimizeLine(line.shape, lineStyle.lineWidth);\n axisGroup.add(line);\n }\n },\n minorSplitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var line = new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: lineStyle,\n silent: true\n });\n graphic.subPixelOptimizeLine(line.shape, lineStyle.lineWidth);\n axisGroup.add(line);\n }\n }\n },\n splitArea: function (axisView, axisGroup, axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel);\n }\n};\n\nvar CartesianXAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianXAxisView, _super);\n\n function CartesianXAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianXAxisView.type = 'xAxis';\n return CartesianXAxisView;\n}(CartesianAxisView);\n\nexport { CartesianXAxisView };\n\nvar CartesianYAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianYAxisView, _super);\n\n function CartesianYAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianYAxisView.type = 'yAxis';\n return CartesianYAxisView;\n}(CartesianAxisView);\n\nexport { CartesianYAxisView };\nexport default CartesianAxisView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport ComponentView from '../../view/Component.js';\nimport GridModel from '../../coord/cartesian/GridModel.js';\nimport { Rect } from '../../util/graphic.js';\nimport { defaults } from 'zrender/lib/core/util.js';\nimport { CartesianAxisModel } from '../../coord/cartesian/AxisModel.js';\nimport axisModelCreator from '../../coord/axisModelCreator.js';\nimport Grid from '../../coord/cartesian/Grid.js';\nimport { CartesianXAxisView, CartesianYAxisView } from '../axis/CartesianAxisView.js'; // Grid view\n\nvar GridView =\n/** @class */\nfunction (_super) {\n __extends(GridView, _super);\n\n function GridView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'grid';\n return _this;\n }\n\n GridView.prototype.render = function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n };\n\n GridView.type = 'grid';\n return GridView;\n}(ComponentView);\n\nvar extraOption = {\n // gridIndex: 0,\n // gridId: '',\n offset: 0\n};\nexport function install(registers) {\n registers.registerComponentView(GridView);\n registers.registerComponentModel(GridModel);\n registers.registerCoordinateSystem('cartesian2d', Grid);\n axisModelCreator(registers, 'x', CartesianAxisModel, extraOption);\n axisModelCreator(registers, 'y', CartesianAxisModel, extraOption);\n registers.registerComponentView(CartesianXAxisView);\n registers.registerComponentView(CartesianYAxisView);\n registers.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { install as installSimple } from './installSimple.js';\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nexport function install(registers) {\n use(installSimple);\n use(installAxisPointer);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport ComponentModel from '../../model/Component.js';\nimport ComponentView from '../../view/Component.js';\nimport { windowOpen } from '../../util/format.js';\n\nvar TitleModel =\n/** @class */\nfunction (_super) {\n __extends(TitleModel, _super);\n\n function TitleModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TitleModel.type;\n _this.layoutMode = {\n type: 'box',\n ignoreSize: true\n };\n return _this;\n }\n\n TitleModel.type = 'title';\n TitleModel.defaultOption = {\n // zlevel: 0,\n z: 6,\n show: true,\n text: '',\n target: 'blank',\n subtext: '',\n subtarget: 'blank',\n left: 0,\n top: 0,\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n borderWidth: 0,\n padding: 5,\n itemGap: 10,\n textStyle: {\n fontSize: 18,\n fontWeight: 'bold',\n color: '#464646'\n },\n subtextStyle: {\n fontSize: 12,\n color: '#6E7079'\n }\n };\n return TitleModel;\n}(ComponentModel); // View\n\n\nvar TitleView =\n/** @class */\nfunction (_super) {\n __extends(TitleView, _super);\n\n function TitleView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TitleView.type;\n return _this;\n }\n\n TitleView.prototype.render = function (titleModel, ecModel, api) {\n this.group.removeAll();\n\n if (!titleModel.get('show')) {\n return;\n }\n\n var group = this.group;\n var textStyleModel = titleModel.getModel('textStyle');\n var subtextStyleModel = titleModel.getModel('subtextStyle');\n var textAlign = titleModel.get('textAlign');\n var textVerticalAlign = zrUtil.retrieve2(titleModel.get('textBaseline'), titleModel.get('textVerticalAlign'));\n var textEl = new graphic.Text({\n style: createTextStyle(textStyleModel, {\n text: titleModel.get('text'),\n fill: textStyleModel.getTextColor()\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var textRect = textEl.getBoundingRect();\n var subText = titleModel.get('subtext');\n var subTextEl = new graphic.Text({\n style: createTextStyle(subtextStyleModel, {\n text: subText,\n fill: subtextStyleModel.getTextColor(),\n y: textRect.height + titleModel.get('itemGap'),\n verticalAlign: 'top'\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var link = titleModel.get('link');\n var sublink = titleModel.get('sublink');\n var triggerEvent = titleModel.get('triggerEvent', true);\n textEl.silent = !link && !triggerEvent;\n subTextEl.silent = !sublink && !triggerEvent;\n\n if (link) {\n textEl.on('click', function () {\n windowOpen(link, '_' + titleModel.get('target'));\n });\n }\n\n if (sublink) {\n subTextEl.on('click', function () {\n windowOpen(sublink, '_' + titleModel.get('subtarget'));\n });\n }\n\n getECData(textEl).eventData = getECData(subTextEl).eventData = triggerEvent ? {\n componentType: 'title',\n componentIndex: titleModel.componentIndex\n } : null;\n group.add(textEl);\n subText && group.add(subTextEl); // If no subText, but add subTextEl, there will be an empty line.\n\n var groupRect = group.getBoundingRect();\n var layoutOption = titleModel.getBoxLayoutParams();\n layoutOption.width = groupRect.width;\n layoutOption.height = groupRect.height;\n var layoutRect = getLayoutRect(layoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n }, titleModel.get('padding')); // Adjust text align based on position\n\n if (!textAlign) {\n // Align left if title is on the left. center and right is same\n textAlign = titleModel.get('left') || titleModel.get('right'); // @ts-ignore\n\n if (textAlign === 'middle') {\n textAlign = 'center';\n } // Adjust layout by text align\n\n\n if (textAlign === 'right') {\n layoutRect.x += layoutRect.width;\n } else if (textAlign === 'center') {\n layoutRect.x += layoutRect.width / 2;\n }\n }\n\n if (!textVerticalAlign) {\n textVerticalAlign = titleModel.get('top') || titleModel.get('bottom'); // @ts-ignore\n\n if (textVerticalAlign === 'center') {\n textVerticalAlign = 'middle';\n }\n\n if (textVerticalAlign === 'bottom') {\n layoutRect.y += layoutRect.height;\n } else if (textVerticalAlign === 'middle') {\n layoutRect.y += layoutRect.height / 2;\n }\n\n textVerticalAlign = textVerticalAlign || 'top';\n }\n\n group.x = layoutRect.x;\n group.y = layoutRect.y;\n group.markRedraw();\n var alignStyle = {\n align: textAlign,\n verticalAlign: textVerticalAlign\n };\n textEl.setStyle(alignStyle);\n subTextEl.setStyle(alignStyle); // Render background\n // Get groupRect again because textAlign has been changed\n\n groupRect = group.getBoundingRect();\n var padding = layoutRect.margin;\n var style = titleModel.getItemStyle(['color', 'opacity']);\n style.fill = titleModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: groupRect.x - padding[3],\n y: groupRect.y - padding[0],\n width: groupRect.width + padding[1] + padding[3],\n height: groupRect.height + padding[0] + padding[2],\n r: titleModel.get('borderRadius')\n },\n style: style,\n subPixelOptimize: true,\n silent: true\n });\n group.add(rect);\n };\n\n TitleView.type = 'title';\n return TitleView;\n}(ComponentView);\n\nexport function install(registers) {\n registers.registerComponentModel(TitleModel);\n registers.registerComponentView(TitleView);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { isArray } from 'zrender/lib/core/util.js';\n/**\n * @return label string. Not null/undefined\n */\n\nexport function getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n if (len === 1) {\n var rawVal = retrieveRawValue(data, dataIndex, labelDims[0]);\n return rawVal != null ? rawVal + '' : null;\n } else if (len) {\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n vals.push(retrieveRawValue(data, dataIndex, labelDims[i]));\n }\n\n return vals.join(' ');\n }\n}\nexport function getDefaultInterpolatedLabel(data, interpolatedValue) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n\n if (!isArray(interpolatedValue)) {\n return interpolatedValue + '';\n }\n\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n var dimIndex = data.getDimensionIndex(labelDims[i]);\n\n if (dimIndex >= 0) {\n vals.push(interpolatedValue[dimIndex]);\n }\n }\n\n return vals.join(' ');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nexport function isCoordinateSystemType(coordSys, type) {\n return coordSys.type === type;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as graphic from '../../util/graphic.js';\nimport { round } from '../../util/number.js';\nimport { isFunction } from 'zrender/lib/core/util.js';\n\nfunction createGridClipPath(cartesian, hasAnimation, seriesModel, done, during) {\n var rect = cartesian.getArea();\n var x = rect.x;\n var y = rect.y;\n var width = rect.width;\n var height = rect.height;\n var lineWidth = seriesModel.get(['lineStyle', 'width']) || 2; // Expand the clip path a bit to avoid the border is clipped and looks thinner\n\n x -= lineWidth / 2;\n y -= lineWidth / 2;\n width += lineWidth;\n height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369\n\n x = Math.floor(x);\n width = Math.round(width);\n var clipPath = new graphic.Rect({\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n }\n });\n\n if (hasAnimation) {\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isAxisInversed = baseAxis.inverse;\n\n if (isHorizontal) {\n if (isAxisInversed) {\n clipPath.shape.x += width;\n }\n\n clipPath.shape.width = 0;\n } else {\n if (!isAxisInversed) {\n clipPath.shape.y += height;\n }\n\n clipPath.shape.height = 0;\n }\n\n var duringCb = isFunction(during) ? function (percent) {\n during(percent, clipPath);\n } : null;\n graphic.initProps(clipPath, {\n shape: {\n width: width,\n height: height,\n x: x,\n y: y\n }\n }, seriesModel, null, done, duringCb);\n }\n\n return clipPath;\n}\n\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n var sectorArea = polar.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n\n var r0 = round(sectorArea.r0, 1);\n var r = round(sectorArea.r, 1);\n var clipPath = new graphic.Sector({\n shape: {\n cx: round(polar.cx, 1),\n cy: round(polar.cy, 1),\n r0: r0,\n r: r,\n startAngle: sectorArea.startAngle,\n endAngle: sectorArea.endAngle,\n clockwise: sectorArea.clockwise\n }\n });\n\n if (hasAnimation) {\n var isRadial = polar.getBaseAxis().dim === 'angle';\n\n if (isRadial) {\n clipPath.shape.endAngle = sectorArea.startAngle;\n } else {\n clipPath.shape.r = r0;\n }\n\n graphic.initProps(clipPath, {\n shape: {\n endAngle: sectorArea.endAngle,\n r: r\n }\n }, seriesModel);\n }\n\n return clipPath;\n}\n\nfunction createClipPath(coordSys, hasAnimation, seriesModel, done, during) {\n if (!coordSys) {\n return null;\n } else if (coordSys.type === 'polar') {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n } else if (coordSys.type === 'cartesian2d') {\n return createGridClipPath(coordSys, hasAnimation, seriesModel, done, during);\n }\n\n return null;\n}\n\nexport { createGridClipPath, createPolarClipPath, createClipPath };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { isFunction, isString } from 'zrender/lib/core/util.js';\nvar samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n } // Return NaN if count is 0\n\n\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(min) ? min : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\n\nvar indexSampler = function (frame) {\n return Math.round(frame.length / 2);\n};\n\nexport default function dataSample(seriesType) {\n return {\n seriesType: seriesType,\n // FIXME:TS never used, so comment it\n // modifyOutputEnd: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var sampling = seriesModel.get('sampling');\n var coordSys = seriesModel.coordinateSystem;\n var count = data.count(); // Only cartesian2d support down sampling. Disable it when there is few data.\n\n if (count > 10 && coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent();\n var dpr = api.getDevicePixelRatio(); // Coordinste system has been resized\n\n var size = Math.abs(extent[1] - extent[0]) * (dpr || 1);\n var rate = Math.round(count / size);\n\n if (isFinite(rate) && rate > 1) {\n if (sampling === 'lttb') {\n seriesModel.setData(data.lttbDownSample(data.mapDimension(valueAxis.dim), 1 / rate));\n }\n\n var sampler = void 0;\n\n if (isString(sampling)) {\n sampler = samplers[sampling];\n } else if (isFunction(sampling)) {\n sampler = sampling;\n }\n\n if (sampler) {\n // Only support sample the first dim mapped from value axis.\n seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n }\n }\n }\n }\n };\n}","interface NumberFormatOptions {\n type?: string;\n decimals?: number | string;\n}\n\nenum ValidColorNames {\n aliceblue,\n antiquewhite,\n aqua,\n aquamarine,\n azure,\n beige,\n bisque,\n black,\n blanchedalmond,\n blue,\n blueviolet,\n brown,\n burlywood,\n cadetblue,\n chartreuse,\n chocolate,\n coral,\n cornflowerblue,\n cornsilk,\n crimson,\n cyan,\n darkblue,\n darkcyan,\n darkgoldenrod,\n darkgray,\n darkgreen,\n darkkhaki,\n darkmagenta,\n darkolivegreen,\n darkorange,\n darkorchid,\n darkred,\n darksalmon,\n darkseagreen,\n darkslateblue,\n darkslategray,\n darkturquoise,\n darkviolet,\n deeppink,\n deepskyblue,\n dimgray,\n dodgerblue,\n firebrick,\n floralwhite,\n forestgreen,\n fuchsia,\n gainsboro,\n ghostwhite,\n gold,\n goldenrod,\n gray,\n green,\n greenyellow,\n honeydew,\n hotpink,\n indianred,\n indigo,\n ivory,\n khaki,\n lavender,\n lavenderblush,\n lawngreen,\n lemonchiffon,\n lightblue,\n lightcoral,\n lightcyan,\n lightgoldenrodyellow,\n lightgrey,\n lightgreen,\n lightpink,\n lightsalmon,\n lightseagreen,\n lightskyblue,\n lightslategray,\n lightsteelblue,\n lightyellow,\n lime,\n limegreen,\n linen,\n magenta,\n maroon,\n mediumaquamarine,\n mediumblue,\n mediumorchid,\n mediumpurple,\n mediumseagreen,\n mediumslateblue,\n mediumspringgreen,\n mediumturquoise,\n mediumvioletred,\n midnightblue,\n mintcream,\n mistyrose,\n moccasin,\n navajowhite,\n navy,\n oldlace,\n olive,\n olivedrab,\n orange,\n orangered,\n orchid,\n palegoldenrod,\n palegreen,\n paleturquoise,\n palevioletred,\n papayawhip,\n peachpuff,\n peru,\n pink,\n plum,\n powderblue,\n purple,\n red,\n rosybrown,\n royalblue,\n saddlebrown,\n salmon,\n sandybrown,\n seagreen,\n seashell,\n sienna,\n silver,\n skyblue,\n slateblue,\n slategray,\n snow,\n springgreen,\n steelblue,\n tan,\n teal,\n thistle,\n tomato,\n turquoise,\n violet,\n wheat,\n white,\n whitesmoke,\n yellow,\n yellowgreen,\n}\n\nexport function isValidColor(color: string) {\n const hexRegex = new RegExp('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$');\n const isValidHex = hexRegex.test(color);\n const isValidCSSColorName = !!ValidColorNames[color];\n return isValidHex || isValidCSSColorName;\n}\n\nexport function getCSSProperty(\n name: string,\n containerStyles: CSSStyleDeclaration,\n hostElementStyles: CSSStyleDeclaration\n) {\n if (!name) return;\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n\n let result = containerStyles.getPropertyValue(name).trim();\n if (!result) result = hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n}\n\nexport function formatValue(value: number, format?: NumberFormatOptions) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n const decimals = isNaN(+format.decimals) ? 0 : +format.decimals;\n\n if (format.type === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals,\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n}\n"],"version":3}