q2-tecton-elements 1.23.0-alpha.0 → 1.24.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 (236) hide show
  1. package/dist/cjs/action-sheet-4b366e9a.js +84 -0
  2. package/dist/cjs/charting-d02cba1f.js +3127 -0
  3. package/dist/cjs/{index-3518c78c.js → index-e00b4210.js} +33 -7
  4. package/dist/cjs/{installCanvasRenderer-b4d10c92.js → installCanvasRenderer-6c4fbcc9.js} +230 -1130
  5. package/dist/cjs/installLabelLayout-d6b548fe.js +1048 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/q2-action-sheet.cjs.entry.js +218 -0
  8. package/dist/cjs/q2-badge_2.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  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 +4569 -0
  15. package/dist/cjs/q2-chart-bar.cjs.entry.js +25 -3133
  16. package/dist/cjs/q2-chart-donut.cjs.entry.js +9 -8
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-loading-element.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-optgroup_2.cjs.entry.js +93 -0
  28. package/dist/cjs/q2-option-list_2.cjs.entry.js +230 -88
  29. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-pill.cjs.entry.js +57 -18
  31. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-section.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-select.cjs.entry.js +149 -409
  35. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-tag.cjs.entry.js +21 -6
  40. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  41. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  42. package/dist/collection/collection-manifest.json +2 -0
  43. package/dist/collection/components/q2-action-sheet/index.js +345 -0
  44. package/dist/collection/components/q2-action-sheet/styles.css +215 -0
  45. package/dist/collection/components/q2-card/index.js +1 -1
  46. package/dist/collection/components/q2-chart-area/index.js +622 -0
  47. package/dist/collection/components/q2-chart-area/styles.css +82 -0
  48. package/dist/collection/components/q2-chart-bar/index.js +4 -4
  49. package/dist/collection/components/q2-chart-bar/styles.css +3 -6
  50. package/dist/collection/components/q2-chart-donut/index.js +1 -1
  51. package/dist/collection/components/q2-checkbox/index.js +2 -2
  52. package/dist/collection/components/q2-checkbox/styles.css +1 -0
  53. package/dist/collection/components/q2-dropdown/index.js +1 -1
  54. package/dist/collection/components/q2-loading/index.js +1 -1
  55. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/styles.css +4 -0
  56. package/dist/collection/components/q2-loading/styles.css +4 -0
  57. package/dist/collection/components/q2-optgroup/styles.css +2 -2
  58. package/dist/collection/components/q2-option/index.js +1 -56
  59. package/dist/collection/components/q2-option/styles.css +7 -0
  60. package/dist/collection/components/q2-option-list/index.js +290 -102
  61. package/dist/collection/components/q2-pill/index.js +79 -18
  62. package/dist/collection/components/q2-pill/styles.css +1 -2
  63. package/dist/collection/components/q2-popover/index.js +21 -5
  64. package/dist/collection/components/q2-popover/styles.css +10 -67
  65. package/dist/collection/components/q2-radio/index.js +2 -2
  66. package/dist/collection/components/q2-select/index.js +197 -427
  67. package/dist/collection/components/q2-select/styles.css +5 -11
  68. package/dist/collection/components/q2-tag/index.js +38 -5
  69. package/dist/collection/utils/action-sheet.js +79 -0
  70. package/dist/collection/utils/index.js +31 -7
  71. package/dist/components/action-sheet.js +81 -0
  72. package/dist/components/charting.js +3113 -0
  73. package/dist/components/index.d.ts +2 -0
  74. package/dist/components/index.js +2 -0
  75. package/dist/components/index10.js +1 -1
  76. package/dist/components/index11.js +42 -353
  77. package/dist/components/index12.js +44 -97
  78. package/dist/components/index13.js +495 -580
  79. package/dist/components/index14.js +137 -0
  80. package/dist/components/index15.js +626 -0
  81. package/dist/components/index5.js +1 -1
  82. package/dist/components/index6.js +1 -1
  83. package/dist/components/index7.js +1 -1
  84. package/dist/components/index8.js +1 -1
  85. package/dist/components/index9.js +3 -3
  86. package/dist/components/installCanvasRenderer.js +188 -1123
  87. package/dist/components/installLabelLayout.js +1042 -0
  88. package/dist/components/q2-action-sheet.d.ts +11 -0
  89. package/dist/components/q2-action-sheet.js +282 -0
  90. package/dist/components/q2-calendar.js +1 -1
  91. package/dist/components/q2-card.js +2 -2
  92. package/dist/components/q2-carousel-pane.js +1 -1
  93. package/dist/components/q2-carousel.js +1 -1
  94. package/dist/components/q2-chart-area.d.ts +11 -0
  95. package/dist/components/q2-chart-area.js +4604 -0
  96. package/dist/components/q2-chart-bar.js +11 -3119
  97. package/dist/components/q2-chart-donut.js +4 -3
  98. package/dist/components/q2-checkbox-group.js +1 -1
  99. package/dist/components/q2-checkbox.js +2 -2
  100. package/dist/components/q2-dropdown.js +2 -2
  101. package/dist/components/q2-editable-field.js +1 -1
  102. package/dist/components/q2-loading-element.js +1 -1
  103. package/dist/components/q2-loc.js +1 -1
  104. package/dist/components/q2-month-picker.js +1 -1
  105. package/dist/components/q2-optgroup.js +1 -70
  106. package/dist/components/q2-option-list.js +1 -1
  107. package/dist/components/q2-option.js +1 -76
  108. package/dist/components/q2-pagination.js +1 -1
  109. package/dist/components/q2-pill.js +62 -21
  110. package/dist/components/q2-popover.js +1 -1
  111. package/dist/components/q2-radio-group.js +1 -1
  112. package/dist/components/q2-radio.js +3 -3
  113. package/dist/components/q2-section.js +1 -1
  114. package/dist/components/q2-select.js +181 -427
  115. package/dist/components/q2-stepper-pane.js +1 -1
  116. package/dist/components/q2-stepper-vertical.js +1 -1
  117. package/dist/components/q2-stepper.js +1 -1
  118. package/dist/components/q2-tab-container.js +1 -1
  119. package/dist/components/q2-tag.js +24 -8
  120. package/dist/components/q2-textarea.js +1 -1
  121. package/dist/esm/action-sheet-a9597b32.js +81 -0
  122. package/dist/esm/charting-2a73ba8e.js +3113 -0
  123. package/dist/esm/{index-9c591682.js → index-ca21e539.js} +32 -8
  124. package/dist/esm/{installCanvasRenderer-0143b52d.js → installCanvasRenderer-4a470516.js} +188 -1123
  125. package/dist/esm/installLabelLayout-d660eaad.js +1042 -0
  126. package/dist/esm/loader.js +1 -1
  127. package/dist/esm/q2-action-sheet.entry.js +214 -0
  128. package/dist/esm/q2-badge_2.entry.js +1 -1
  129. package/dist/esm/q2-btn_2.entry.js +2 -2
  130. package/dist/esm/q2-calendar.entry.js +1 -1
  131. package/dist/esm/q2-card.entry.js +2 -2
  132. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  133. package/dist/esm/q2-carousel.entry.js +1 -1
  134. package/dist/esm/q2-chart-area.entry.js +4565 -0
  135. package/dist/esm/q2-chart-bar.entry.js +11 -3119
  136. package/dist/esm/q2-chart-donut.entry.js +4 -3
  137. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  138. package/dist/esm/q2-checkbox.entry.js +2 -2
  139. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  140. package/dist/esm/q2-dropdown.entry.js +1 -1
  141. package/dist/esm/q2-editable-field.entry.js +1 -1
  142. package/dist/esm/q2-icon.entry.js +1 -1
  143. package/dist/esm/q2-loading-element.entry.js +1 -1
  144. package/dist/esm/q2-loc.entry.js +1 -1
  145. package/dist/esm/q2-message.entry.js +1 -1
  146. package/dist/esm/q2-month-picker.entry.js +1 -1
  147. package/dist/esm/q2-optgroup_2.entry.js +88 -0
  148. package/dist/esm/q2-option-list_2.entry.js +230 -88
  149. package/dist/esm/q2-pagination.entry.js +1 -1
  150. package/dist/esm/q2-pill.entry.js +57 -18
  151. package/dist/esm/q2-radio-group.entry.js +1 -1
  152. package/dist/esm/q2-radio.entry.js +1 -1
  153. package/dist/esm/q2-section.entry.js +1 -1
  154. package/dist/esm/q2-select.entry.js +149 -409
  155. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  156. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  157. package/dist/esm/q2-stepper.entry.js +1 -1
  158. package/dist/esm/q2-tab-container.entry.js +1 -1
  159. package/dist/esm/q2-tag.entry.js +21 -6
  160. package/dist/esm/q2-tecton-elements.js +1 -1
  161. package/dist/esm/q2-textarea.entry.js +1 -1
  162. package/dist/q2-tecton-elements/{p-db873db2.entry.js → p-0473f4f7.entry.js} +1 -1
  163. package/dist/q2-tecton-elements/{p-520c40f6.entry.js → p-13a1390b.entry.js} +1 -1
  164. package/dist/q2-tecton-elements/{p-9ebb283a.entry.js → p-13deb3ed.entry.js} +1 -1
  165. package/dist/q2-tecton-elements/{p-0ba564b1.entry.js → p-1d854203.entry.js} +1 -1
  166. package/dist/q2-tecton-elements/p-1f71774f.entry.js +1 -0
  167. package/dist/q2-tecton-elements/{p-18cc4758.entry.js → p-256d3fe6.entry.js} +1 -1
  168. package/dist/q2-tecton-elements/{p-9281adaa.entry.js → p-282f0f8c.entry.js} +1 -1
  169. package/dist/q2-tecton-elements/{p-2d2c5af2.entry.js → p-30969629.entry.js} +1 -1
  170. package/dist/q2-tecton-elements/p-30cd888b.entry.js +1 -0
  171. package/dist/q2-tecton-elements/{p-fc134a5d.entry.js → p-37cf9c97.entry.js} +1 -1
  172. package/dist/q2-tecton-elements/{p-fb37e67e.entry.js → p-388349b5.entry.js} +1 -1
  173. package/dist/q2-tecton-elements/p-458b1987.js +1 -0
  174. package/dist/q2-tecton-elements/p-52063431.js +39 -0
  175. package/dist/q2-tecton-elements/p-5589ae0f.entry.js +1 -0
  176. package/dist/q2-tecton-elements/p-619aed74.entry.js +1 -0
  177. package/dist/q2-tecton-elements/{p-4625184b.entry.js → p-63b67260.entry.js} +1 -1
  178. package/dist/q2-tecton-elements/{p-e4dc9ac0.entry.js → p-63e363ad.entry.js} +1 -1
  179. package/dist/q2-tecton-elements/{p-cbd1289a.entry.js → p-6736df05.entry.js} +1 -1
  180. package/dist/q2-tecton-elements/p-72fe10cc.entry.js +1 -0
  181. package/dist/q2-tecton-elements/{p-c4640b55.entry.js → p-75b817c6.entry.js} +1 -1
  182. package/dist/q2-tecton-elements/{p-c3f27fe2.entry.js → p-7a116095.entry.js} +1 -1
  183. package/dist/q2-tecton-elements/p-7c94119b.entry.js +1 -0
  184. package/dist/q2-tecton-elements/p-833398d1.js +1 -0
  185. package/dist/q2-tecton-elements/{p-ce015552.entry.js → p-90572e43.entry.js} +1 -1
  186. package/dist/q2-tecton-elements/p-91153c61.entry.js +1 -0
  187. package/dist/q2-tecton-elements/p-9792de8a.entry.js +1 -0
  188. package/dist/q2-tecton-elements/p-9acfa94e.js +1 -0
  189. package/dist/q2-tecton-elements/p-a1926e65.js +1 -0
  190. package/dist/q2-tecton-elements/{p-ffb48ccc.entry.js → p-b3a8cdc5.entry.js} +1 -1
  191. package/dist/q2-tecton-elements/p-ce3f203c.entry.js +1 -0
  192. package/dist/q2-tecton-elements/{p-041b3a82.entry.js → p-ce91cd9b.entry.js} +1 -1
  193. package/dist/q2-tecton-elements/{p-b8b00394.entry.js → p-cefc9d0b.entry.js} +1 -1
  194. package/dist/q2-tecton-elements/p-d05beeb7.entry.js +1 -0
  195. package/dist/q2-tecton-elements/p-dc7c8371.entry.js +1 -0
  196. package/dist/q2-tecton-elements/{p-16c11d74.entry.js → p-e58581fc.entry.js} +1 -1
  197. package/dist/q2-tecton-elements/{p-f800fd1e.entry.js → p-e886c55b.entry.js} +1 -1
  198. package/dist/q2-tecton-elements/{p-6e6b5b80.entry.js → p-f0ec4d2c.entry.js} +1 -1
  199. package/dist/q2-tecton-elements/{p-97aa8423.entry.js → p-f94e7043.entry.js} +1 -1
  200. package/dist/q2-tecton-elements/{p-c444a60b.entry.js → p-fcb7d191.entry.js} +1 -1
  201. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  202. package/dist/test/helpers.js +3 -2
  203. package/dist/types/components/q2-action-sheet/index.d.ts +52 -0
  204. package/dist/types/components/q2-card/index.d.ts +1 -1
  205. package/dist/types/components/q2-chart-area/index.d.ts +40 -0
  206. package/dist/types/components/q2-chart-bar/index.d.ts +2 -2
  207. package/dist/types/components/q2-chart-donut/index.d.ts +1 -1
  208. package/dist/types/components/q2-checkbox/index.d.ts +4 -1
  209. package/dist/types/components/q2-option/index.d.ts +0 -3
  210. package/dist/types/components/q2-option-list/index.d.ts +16 -8
  211. package/dist/types/components/q2-pill/index.d.ts +10 -1
  212. package/dist/types/components/q2-popover/index.d.ts +2 -0
  213. package/dist/types/components/q2-select/index.d.ts +46 -47
  214. package/dist/types/components/q2-tag/index.d.ts +3 -2
  215. package/dist/types/components.d.ts +100 -13
  216. package/dist/types/global.d.ts +10 -1
  217. package/dist/types/utils/action-sheet.d.ts +12 -0
  218. package/dist/types/utils/index.d.ts +3 -1
  219. package/dist/types/workspace/workspace/{_production_release_1.22.x-alpha → Tecton_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
  220. package/package.json +3 -2
  221. package/dist/cjs/q2-optgroup.cjs.entry.js +0 -56
  222. package/dist/cjs/q2-option.cjs.entry.js +0 -46
  223. package/dist/esm/q2-optgroup.entry.js +0 -52
  224. package/dist/esm/q2-option.entry.js +0 -42
  225. package/dist/q2-tecton-elements/p-0d8dd75a.entry.js +0 -1
  226. package/dist/q2-tecton-elements/p-0fad9c5a.entry.js +0 -1
  227. package/dist/q2-tecton-elements/p-1f85cced.js +0 -39
  228. package/dist/q2-tecton-elements/p-2c9b1308.entry.js +0 -1
  229. package/dist/q2-tecton-elements/p-5e374fbd.js +0 -1
  230. package/dist/q2-tecton-elements/p-6b52a262.entry.js +0 -1
  231. package/dist/q2-tecton-elements/p-aaf42539.entry.js +0 -1
  232. package/dist/q2-tecton-elements/p-cf41970f.entry.js +0 -1
  233. package/dist/q2-tecton-elements/p-de164483.entry.js +0 -1
  234. package/dist/q2-tecton-elements/p-e6d26f39.entry.js +0 -1
  235. package/dist/q2-tecton-elements/p-f1d06917.entry.js +0 -1
  236. package/dist/q2-tecton-elements/p-f35bf6a3.entry.js +0 -1
@@ -781,7 +781,7 @@ function distanceSquare(v1, v2) {
781
781
  + (v1[1] - v2[1]) * (v1[1] - v2[1]);
782
782
  }
783
783
  var distSquare = distanceSquare;
784
- function lerp(out, v1, v2, t) {
784
+ function lerp$1(out, v1, v2, t) {
785
785
  out[0] = v1[0] + t * (v2[0] - v1[0]);
786
786
  out[1] = v1[1] + t * (v2[1] - v1[1]);
787
787
  return out;
@@ -3628,6 +3628,9 @@ function cssHueToRgb(m1, m2, h) {
3628
3628
  }
3629
3629
  return m1;
3630
3630
  }
3631
+ function lerpNumber(a, b, p) {
3632
+ return a + (b - a) * p;
3633
+ }
3631
3634
  function setRgba(out, r, g, b, a) {
3632
3635
  out[0] = r;
3633
3636
  out[1] = g;
@@ -3771,6 +3774,32 @@ function lift(color, level) {
3771
3774
  return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');
3772
3775
  }
3773
3776
  }
3777
+ function lerp(normalizedValue, colors, fullOutput) {
3778
+ if (!(colors && colors.length)
3779
+ || !(normalizedValue >= 0 && normalizedValue <= 1)) {
3780
+ return;
3781
+ }
3782
+ var value = normalizedValue * (colors.length - 1);
3783
+ var leftIndex = Math.floor(value);
3784
+ var rightIndex = Math.ceil(value);
3785
+ var leftColor = parse(colors[leftIndex]);
3786
+ var rightColor = parse(colors[rightIndex]);
3787
+ var dv = value - leftIndex;
3788
+ var color = stringify([
3789
+ clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),
3790
+ clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),
3791
+ clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),
3792
+ clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))
3793
+ ], 'rgba');
3794
+ return fullOutput
3795
+ ? {
3796
+ color: color,
3797
+ leftIndex: leftIndex,
3798
+ rightIndex: rightIndex,
3799
+ value: value
3800
+ }
3801
+ : color;
3802
+ }
3774
3803
  function stringify(arrColor, type) {
3775
3804
  if (!arrColor || !arrColor.length) {
3776
3805
  return;
@@ -9035,10 +9064,31 @@ var mathMin$3 = Math.min;
9035
9064
  var mathMax$3 = Math.max;
9036
9065
  var mathSin$3 = Math.sin;
9037
9066
  var mathCos$3 = Math.cos;
9038
- var PI2$6 = Math.PI * 2;
9067
+ var PI2$5 = Math.PI * 2;
9039
9068
  var start = create$1();
9040
9069
  var end = create$1();
9041
9070
  var extremity = create$1();
9071
+ function fromPoints(points, min, max) {
9072
+ if (points.length === 0) {
9073
+ return;
9074
+ }
9075
+ var p = points[0];
9076
+ var left = p[0];
9077
+ var right = p[0];
9078
+ var top = p[1];
9079
+ var bottom = p[1];
9080
+ for (var i = 1; i < points.length; i++) {
9081
+ p = points[i];
9082
+ left = mathMin$3(left, p[0]);
9083
+ right = mathMax$3(right, p[0]);
9084
+ top = mathMin$3(top, p[1]);
9085
+ bottom = mathMax$3(bottom, p[1]);
9086
+ }
9087
+ min[0] = left;
9088
+ min[1] = top;
9089
+ max[0] = right;
9090
+ max[1] = bottom;
9091
+ }
9042
9092
  function fromLine(x0, y0, x1, y1, min, max) {
9043
9093
  min[0] = mathMin$3(x0, x1);
9044
9094
  min[1] = mathMin$3(y0, y1);
@@ -9091,7 +9141,7 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
9091
9141
  var vec2Min = min$1;
9092
9142
  var vec2Max = max$1;
9093
9143
  var diff = Math.abs(startAngle - endAngle);
9094
- if (diff % PI2$6 < 1e-4 && diff > 1e-4) {
9144
+ if (diff % PI2$5 < 1e-4 && diff > 1e-4) {
9095
9145
  min[0] = x - rx;
9096
9146
  min[1] = y - ry;
9097
9147
  max[0] = x + rx;
@@ -9104,19 +9154,19 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
9104
9154
  end[1] = mathSin$3(endAngle) * ry + y;
9105
9155
  vec2Min(min, start, end);
9106
9156
  vec2Max(max, start, end);
9107
- startAngle = startAngle % (PI2$6);
9157
+ startAngle = startAngle % (PI2$5);
9108
9158
  if (startAngle < 0) {
9109
- startAngle = startAngle + PI2$6;
9159
+ startAngle = startAngle + PI2$5;
9110
9160
  }
9111
- endAngle = endAngle % (PI2$6);
9161
+ endAngle = endAngle % (PI2$5);
9112
9162
  if (endAngle < 0) {
9113
- endAngle = endAngle + PI2$6;
9163
+ endAngle = endAngle + PI2$5;
9114
9164
  }
9115
9165
  if (startAngle > endAngle && !anticlockwise) {
9116
- endAngle += PI2$6;
9166
+ endAngle += PI2$5;
9117
9167
  }
9118
9168
  else if (startAngle < endAngle && anticlockwise) {
9119
- startAngle += PI2$6;
9169
+ startAngle += PI2$5;
9120
9170
  }
9121
9171
  if (anticlockwise) {
9122
9172
  var tmp = endAngle;
@@ -9133,7 +9183,7 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
9133
9183
  }
9134
9184
  }
9135
9185
 
9136
- var CMD$3 = {
9186
+ var CMD$2 = {
9137
9187
  M: 1,
9138
9188
  L: 2,
9139
9189
  C: 3,
@@ -9154,7 +9204,7 @@ var mathCos$2 = Math.cos;
9154
9204
  var mathSin$2 = Math.sin;
9155
9205
  var mathAbs$1 = Math.abs;
9156
9206
  var PI$4 = Math.PI;
9157
- var PI2$5 = PI$4 * 2;
9207
+ var PI2$4 = PI$4 * 2;
9158
9208
  var hasTypedArray = typeof Float32Array !== 'undefined';
9159
9209
  var tmpAngles = [];
9160
9210
  function modPI2(radian) {
@@ -9164,22 +9214,22 @@ function modPI2(radian) {
9164
9214
  function normalizeArcAngles(angles, anticlockwise) {
9165
9215
  var newStartAngle = modPI2(angles[0]);
9166
9216
  if (newStartAngle < 0) {
9167
- newStartAngle += PI2$5;
9217
+ newStartAngle += PI2$4;
9168
9218
  }
9169
9219
  var delta = newStartAngle - angles[0];
9170
9220
  var newEndAngle = angles[1];
9171
9221
  newEndAngle += delta;
9172
- if (!anticlockwise && newEndAngle - newStartAngle >= PI2$5) {
9173
- newEndAngle = newStartAngle + PI2$5;
9222
+ if (!anticlockwise && newEndAngle - newStartAngle >= PI2$4) {
9223
+ newEndAngle = newStartAngle + PI2$4;
9174
9224
  }
9175
- else if (anticlockwise && newStartAngle - newEndAngle >= PI2$5) {
9176
- newEndAngle = newStartAngle - PI2$5;
9225
+ else if (anticlockwise && newStartAngle - newEndAngle >= PI2$4) {
9226
+ newEndAngle = newStartAngle - PI2$4;
9177
9227
  }
9178
9228
  else if (!anticlockwise && newStartAngle > newEndAngle) {
9179
- newEndAngle = newStartAngle + (PI2$5 - modPI2(newStartAngle - newEndAngle));
9229
+ newEndAngle = newStartAngle + (PI2$4 - modPI2(newStartAngle - newEndAngle));
9180
9230
  }
9181
9231
  else if (anticlockwise && newStartAngle < newEndAngle) {
9182
- newEndAngle = newStartAngle - (PI2$5 - modPI2(newEndAngle - newStartAngle));
9232
+ newEndAngle = newStartAngle - (PI2$4 - modPI2(newEndAngle - newStartAngle));
9183
9233
  }
9184
9234
  angles[0] = newStartAngle;
9185
9235
  angles[1] = newEndAngle;
@@ -9238,7 +9288,7 @@ var PathProxy = (function () {
9238
9288
  };
9239
9289
  PathProxy.prototype.moveTo = function (x, y) {
9240
9290
  this._drawPendingPt();
9241
- this.addData(CMD$3.M, x, y);
9291
+ this.addData(CMD$2.M, x, y);
9242
9292
  this._ctx && this._ctx.moveTo(x, y);
9243
9293
  this._x0 = x;
9244
9294
  this._y0 = y;
@@ -9250,7 +9300,7 @@ var PathProxy = (function () {
9250
9300
  var dx = mathAbs$1(x - this._xi);
9251
9301
  var dy = mathAbs$1(y - this._yi);
9252
9302
  var exceedUnit = dx > this._ux || dy > this._uy;
9253
- this.addData(CMD$3.L, x, y);
9303
+ this.addData(CMD$2.L, x, y);
9254
9304
  if (this._ctx && exceedUnit) {
9255
9305
  this._ctx.lineTo(x, y);
9256
9306
  }
@@ -9271,7 +9321,7 @@ var PathProxy = (function () {
9271
9321
  };
9272
9322
  PathProxy.prototype.bezierCurveTo = function (x1, y1, x2, y2, x3, y3) {
9273
9323
  this._drawPendingPt();
9274
- this.addData(CMD$3.C, x1, y1, x2, y2, x3, y3);
9324
+ this.addData(CMD$2.C, x1, y1, x2, y2, x3, y3);
9275
9325
  if (this._ctx) {
9276
9326
  this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
9277
9327
  }
@@ -9281,7 +9331,7 @@ var PathProxy = (function () {
9281
9331
  };
9282
9332
  PathProxy.prototype.quadraticCurveTo = function (x1, y1, x2, y2) {
9283
9333
  this._drawPendingPt();
9284
- this.addData(CMD$3.Q, x1, y1, x2, y2);
9334
+ this.addData(CMD$2.Q, x1, y1, x2, y2);
9285
9335
  if (this._ctx) {
9286
9336
  this._ctx.quadraticCurveTo(x1, y1, x2, y2);
9287
9337
  }
@@ -9297,7 +9347,7 @@ var PathProxy = (function () {
9297
9347
  startAngle = tmpAngles[0];
9298
9348
  endAngle = tmpAngles[1];
9299
9349
  var delta = endAngle - startAngle;
9300
- this.addData(CMD$3.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);
9350
+ this.addData(CMD$2.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);
9301
9351
  this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);
9302
9352
  this._xi = mathCos$2(endAngle) * r + cx;
9303
9353
  this._yi = mathSin$2(endAngle) * r + cy;
@@ -9313,12 +9363,12 @@ var PathProxy = (function () {
9313
9363
  PathProxy.prototype.rect = function (x, y, w, h) {
9314
9364
  this._drawPendingPt();
9315
9365
  this._ctx && this._ctx.rect(x, y, w, h);
9316
- this.addData(CMD$3.R, x, y, w, h);
9366
+ this.addData(CMD$2.R, x, y, w, h);
9317
9367
  return this;
9318
9368
  };
9319
9369
  PathProxy.prototype.closePath = function () {
9320
9370
  this._drawPendingPt();
9321
- this.addData(CMD$3.Z);
9371
+ this.addData(CMD$2.Z);
9322
9372
  var ctx = this._ctx;
9323
9373
  var x0 = this._x0;
9324
9374
  var y0 = this._y0;
@@ -9431,7 +9481,7 @@ var PathProxy = (function () {
9431
9481
  y0 = yi;
9432
9482
  }
9433
9483
  switch (cmd) {
9434
- case CMD$3.M:
9484
+ case CMD$2.M:
9435
9485
  xi = x0 = data[i++];
9436
9486
  yi = y0 = data[i++];
9437
9487
  min2[0] = x0;
@@ -9439,22 +9489,22 @@ var PathProxy = (function () {
9439
9489
  max2[0] = x0;
9440
9490
  max2[1] = y0;
9441
9491
  break;
9442
- case CMD$3.L:
9492
+ case CMD$2.L:
9443
9493
  fromLine(xi, yi, data[i], data[i + 1], min2, max2);
9444
9494
  xi = data[i++];
9445
9495
  yi = data[i++];
9446
9496
  break;
9447
- case CMD$3.C:
9497
+ case CMD$2.C:
9448
9498
  fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);
9449
9499
  xi = data[i++];
9450
9500
  yi = data[i++];
9451
9501
  break;
9452
- case CMD$3.Q:
9502
+ case CMD$2.Q:
9453
9503
  fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);
9454
9504
  xi = data[i++];
9455
9505
  yi = data[i++];
9456
9506
  break;
9457
- case CMD$3.A:
9507
+ case CMD$2.A:
9458
9508
  var cx = data[i++];
9459
9509
  var cy = data[i++];
9460
9510
  var rx = data[i++];
@@ -9471,14 +9521,14 @@ var PathProxy = (function () {
9471
9521
  xi = mathCos$2(endAngle) * rx + cx;
9472
9522
  yi = mathSin$2(endAngle) * ry + cy;
9473
9523
  break;
9474
- case CMD$3.R:
9524
+ case CMD$2.R:
9475
9525
  x0 = xi = data[i++];
9476
9526
  y0 = yi = data[i++];
9477
9527
  var width = data[i++];
9478
9528
  var height = data[i++];
9479
9529
  fromLine(x0, y0, x0 + width, y0 + height, min2, max2);
9480
9530
  break;
9481
- case CMD$3.Z:
9531
+ case CMD$2.Z:
9482
9532
  xi = x0;
9483
9533
  yi = y0;
9484
9534
  break;
@@ -9517,11 +9567,11 @@ var PathProxy = (function () {
9517
9567
  }
9518
9568
  var l = -1;
9519
9569
  switch (cmd) {
9520
- case CMD$3.M:
9570
+ case CMD$2.M:
9521
9571
  xi = x0 = data[i++];
9522
9572
  yi = y0 = data[i++];
9523
9573
  break;
9524
- case CMD$3.L: {
9574
+ case CMD$2.L: {
9525
9575
  var x2 = data[i++];
9526
9576
  var y2 = data[i++];
9527
9577
  var dx = x2 - xi;
@@ -9533,7 +9583,7 @@ var PathProxy = (function () {
9533
9583
  }
9534
9584
  break;
9535
9585
  }
9536
- case CMD$3.C: {
9586
+ case CMD$2.C: {
9537
9587
  var x1 = data[i++];
9538
9588
  var y1 = data[i++];
9539
9589
  var x2 = data[i++];
@@ -9545,7 +9595,7 @@ var PathProxy = (function () {
9545
9595
  yi = y3;
9546
9596
  break;
9547
9597
  }
9548
- case CMD$3.Q: {
9598
+ case CMD$2.Q: {
9549
9599
  var x1 = data[i++];
9550
9600
  var y1 = data[i++];
9551
9601
  var x2 = data[i++];
@@ -9555,7 +9605,7 @@ var PathProxy = (function () {
9555
9605
  yi = y2;
9556
9606
  break;
9557
9607
  }
9558
- case CMD$3.A:
9608
+ case CMD$2.A:
9559
9609
  var cx = data[i++];
9560
9610
  var cy = data[i++];
9561
9611
  var rx = data[i++];
@@ -9569,11 +9619,11 @@ var PathProxy = (function () {
9569
9619
  x0 = mathCos$2(startAngle) * rx + cx;
9570
9620
  y0 = mathSin$2(startAngle) * ry + cy;
9571
9621
  }
9572
- l = mathMax$2(rx, ry) * mathMin$2(PI2$5, Math.abs(delta));
9622
+ l = mathMax$2(rx, ry) * mathMin$2(PI2$4, Math.abs(delta));
9573
9623
  xi = mathCos$2(endAngle) * rx + cx;
9574
9624
  yi = mathSin$2(endAngle) * ry + cy;
9575
9625
  break;
9576
- case CMD$3.R: {
9626
+ case CMD$2.R: {
9577
9627
  x0 = xi = data[i++];
9578
9628
  y0 = yi = data[i++];
9579
9629
  var width = data[i++];
@@ -9581,7 +9631,7 @@ var PathProxy = (function () {
9581
9631
  l = width * 2 + height * 2;
9582
9632
  break;
9583
9633
  }
9584
- case CMD$3.Z: {
9634
+ case CMD$2.Z: {
9585
9635
  var dx = x0 - xi;
9586
9636
  var dy = y0 - yi;
9587
9637
  l = Math.sqrt(dx * dx + dy * dy);
@@ -9638,17 +9688,17 @@ var PathProxy = (function () {
9638
9688
  x0 = xi;
9639
9689
  y0 = yi;
9640
9690
  }
9641
- if (cmd !== CMD$3.L && pendingPtDist > 0) {
9691
+ if (cmd !== CMD$2.L && pendingPtDist > 0) {
9642
9692
  ctx.lineTo(pendingPtX, pendingPtY);
9643
9693
  pendingPtDist = 0;
9644
9694
  }
9645
9695
  switch (cmd) {
9646
- case CMD$3.M:
9696
+ case CMD$2.M:
9647
9697
  x0 = xi = d[i++];
9648
9698
  y0 = yi = d[i++];
9649
9699
  ctx.moveTo(xi, yi);
9650
9700
  break;
9651
- case CMD$3.L: {
9701
+ case CMD$2.L: {
9652
9702
  x = d[i++];
9653
9703
  y = d[i++];
9654
9704
  var dx = mathAbs$1(x - xi);
@@ -9678,7 +9728,7 @@ var PathProxy = (function () {
9678
9728
  }
9679
9729
  break;
9680
9730
  }
9681
- case CMD$3.C: {
9731
+ case CMD$2.C: {
9682
9732
  var x1 = d[i++];
9683
9733
  var y1 = d[i++];
9684
9734
  var x2 = d[i++];
@@ -9701,7 +9751,7 @@ var PathProxy = (function () {
9701
9751
  yi = y3;
9702
9752
  break;
9703
9753
  }
9704
- case CMD$3.Q: {
9754
+ case CMD$2.Q: {
9705
9755
  var x1 = d[i++];
9706
9756
  var y1 = d[i++];
9707
9757
  var x2 = d[i++];
@@ -9722,7 +9772,7 @@ var PathProxy = (function () {
9722
9772
  yi = y2;
9723
9773
  break;
9724
9774
  }
9725
- case CMD$3.A:
9775
+ case CMD$2.A:
9726
9776
  var cx = d[i++];
9727
9777
  var cy = d[i++];
9728
9778
  var rx = d[i++];
@@ -9759,7 +9809,7 @@ var PathProxy = (function () {
9759
9809
  xi = mathCos$2(endAngle) * rx + cx;
9760
9810
  yi = mathSin$2(endAngle) * ry + cy;
9761
9811
  break;
9762
- case CMD$3.R:
9812
+ case CMD$2.R:
9763
9813
  x0 = xi = d[i];
9764
9814
  y0 = yi = d[i + 1];
9765
9815
  x = d[i++];
@@ -9790,7 +9840,7 @@ var PathProxy = (function () {
9790
9840
  }
9791
9841
  ctx.rect(x, y, width, height);
9792
9842
  break;
9793
- case CMD$3.Z:
9843
+ case CMD$2.Z:
9794
9844
  if (drawPart) {
9795
9845
  var l = pathSegLen[segCount++];
9796
9846
  if (accumLength + l > displayedLength) {
@@ -9814,7 +9864,7 @@ var PathProxy = (function () {
9814
9864
  newProxy._len = this._len;
9815
9865
  return newProxy;
9816
9866
  };
9817
- PathProxy.CMD = CMD$3;
9867
+ PathProxy.CMD = CMD$2;
9818
9868
  PathProxy.initDefaultProps = (function () {
9819
9869
  var proto = PathProxy.prototype;
9820
9870
  proto._saveData = true;
@@ -9881,16 +9931,16 @@ function containStroke$2(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {
9881
9931
  return d <= _l / 2;
9882
9932
  }
9883
9933
 
9884
- var PI2$4 = Math.PI * 2;
9934
+ var PI2$3 = Math.PI * 2;
9885
9935
  function normalizeRadian(angle) {
9886
- angle %= PI2$4;
9936
+ angle %= PI2$3;
9887
9937
  if (angle < 0) {
9888
- angle += PI2$4;
9938
+ angle += PI2$3;
9889
9939
  }
9890
9940
  return angle;
9891
9941
  }
9892
9942
 
9893
- var PI2$3 = Math.PI * 2;
9943
+ var PI2$2 = Math.PI * 2;
9894
9944
  function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {
9895
9945
  if (lineWidth === 0) {
9896
9946
  return false;
@@ -9902,7 +9952,7 @@ function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWid
9902
9952
  if ((d - _l > r) || (d + _l < r)) {
9903
9953
  return false;
9904
9954
  }
9905
- if (Math.abs(startAngle - endAngle) % PI2$3 < 1e-4) {
9955
+ if (Math.abs(startAngle - endAngle) % PI2$2 < 1e-4) {
9906
9956
  return true;
9907
9957
  }
9908
9958
  if (anticlockwise) {
@@ -9915,14 +9965,14 @@ function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWid
9915
9965
  endAngle = normalizeRadian(endAngle);
9916
9966
  }
9917
9967
  if (startAngle > endAngle) {
9918
- endAngle += PI2$3;
9968
+ endAngle += PI2$2;
9919
9969
  }
9920
9970
  var angle = Math.atan2(y, x);
9921
9971
  if (angle < 0) {
9922
- angle += PI2$3;
9972
+ angle += PI2$2;
9923
9973
  }
9924
9974
  return (angle >= startAngle && angle <= endAngle)
9925
- || (angle + PI2$3 >= startAngle && angle + PI2$3 <= endAngle);
9975
+ || (angle + PI2$2 >= startAngle && angle + PI2$2 <= endAngle);
9926
9976
  }
9927
9977
 
9928
9978
  function windingLine(x0, y0, x1, y1, x, y) {
@@ -9941,8 +9991,8 @@ function windingLine(x0, y0, x1, y1, x, y) {
9941
9991
  return x_ === x ? Infinity : x_ > x ? dir : 0;
9942
9992
  }
9943
9993
 
9944
- var CMD$2 = PathProxy.CMD;
9945
- var PI2$2 = Math.PI * 2;
9994
+ var CMD$1 = PathProxy.CMD;
9995
+ var PI2$1 = Math.PI * 2;
9946
9996
  var EPSILON = 1e-4;
9947
9997
  function isAroundEqual(a, b) {
9948
9998
  return Math.abs(a - b) < EPSILON;
@@ -10059,9 +10109,9 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
10059
10109
  if (dTheta < 1e-4) {
10060
10110
  return 0;
10061
10111
  }
10062
- if (dTheta >= PI2$2 - 1e-4) {
10112
+ if (dTheta >= PI2$1 - 1e-4) {
10063
10113
  startAngle = 0;
10064
- endAngle = PI2$2;
10114
+ endAngle = PI2$1;
10065
10115
  var dir = anticlockwise ? 1 : -1;
10066
10116
  if (x >= roots[0] + cx && x <= roots[1] + cx) {
10067
10117
  return dir;
@@ -10076,8 +10126,8 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
10076
10126
  endAngle = tmp_1;
10077
10127
  }
10078
10128
  if (startAngle < 0) {
10079
- startAngle += PI2$2;
10080
- endAngle += PI2$2;
10129
+ startAngle += PI2$1;
10130
+ endAngle += PI2$1;
10081
10131
  }
10082
10132
  var w = 0;
10083
10133
  for (var i = 0; i < 2; i++) {
@@ -10086,10 +10136,10 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
10086
10136
  var angle = Math.atan2(y, x_);
10087
10137
  var dir = anticlockwise ? 1 : -1;
10088
10138
  if (angle < 0) {
10089
- angle = PI2$2 + angle;
10139
+ angle = PI2$1 + angle;
10090
10140
  }
10091
10141
  if ((angle >= startAngle && angle <= endAngle)
10092
- || (angle + PI2$2 >= startAngle && angle + PI2$2 <= endAngle)) {
10142
+ || (angle + PI2$1 >= startAngle && angle + PI2$1 <= endAngle)) {
10093
10143
  if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {
10094
10144
  dir = -dir;
10095
10145
  }
@@ -10112,7 +10162,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10112
10162
  for (var i = 0; i < len;) {
10113
10163
  var cmd = data[i++];
10114
10164
  var isFirst = i === 1;
10115
- if (cmd === CMD$2.M && i > 1) {
10165
+ if (cmd === CMD$1.M && i > 1) {
10116
10166
  if (!isStroke) {
10117
10167
  w += windingLine(xi, yi, x0, y0, x, y);
10118
10168
  }
@@ -10124,13 +10174,13 @@ function containPath(path, lineWidth, isStroke, x, y) {
10124
10174
  y0 = yi;
10125
10175
  }
10126
10176
  switch (cmd) {
10127
- case CMD$2.M:
10177
+ case CMD$1.M:
10128
10178
  x0 = data[i++];
10129
10179
  y0 = data[i++];
10130
10180
  xi = x0;
10131
10181
  yi = y0;
10132
10182
  break;
10133
- case CMD$2.L:
10183
+ case CMD$1.L:
10134
10184
  if (isStroke) {
10135
10185
  if (containStroke$4(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {
10136
10186
  return true;
@@ -10142,7 +10192,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10142
10192
  xi = data[i++];
10143
10193
  yi = data[i++];
10144
10194
  break;
10145
- case CMD$2.C:
10195
+ case CMD$1.C:
10146
10196
  if (isStroke) {
10147
10197
  if (containStroke$3(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
10148
10198
  return true;
@@ -10154,7 +10204,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10154
10204
  xi = data[i++];
10155
10205
  yi = data[i++];
10156
10206
  break;
10157
- case CMD$2.Q:
10207
+ case CMD$1.Q:
10158
10208
  if (isStroke) {
10159
10209
  if (containStroke$2(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
10160
10210
  return true;
@@ -10166,7 +10216,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10166
10216
  xi = data[i++];
10167
10217
  yi = data[i++];
10168
10218
  break;
10169
- case CMD$2.A:
10219
+ case CMD$1.A:
10170
10220
  var cx = data[i++];
10171
10221
  var cy = data[i++];
10172
10222
  var rx = data[i++];
@@ -10196,7 +10246,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10196
10246
  xi = Math.cos(theta + dTheta) * rx + cx;
10197
10247
  yi = Math.sin(theta + dTheta) * ry + cy;
10198
10248
  break;
10199
- case CMD$2.R:
10249
+ case CMD$1.R:
10200
10250
  x0 = xi = data[i++];
10201
10251
  y0 = yi = data[i++];
10202
10252
  var width = data[i++];
@@ -10216,7 +10266,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10216
10266
  w += windingLine(x0, y1, x0, y0, x, y);
10217
10267
  }
10218
10268
  break;
10219
- case CMD$2.Z:
10269
+ case CMD$1.Z:
10220
10270
  if (isStroke) {
10221
10271
  if (containStroke$4(xi, yi, x0, y0, lineWidth, x, y)) {
10222
10272
  return true;
@@ -11599,6 +11649,25 @@ function traverseUpdateState(el, updater, commonParam) {
11599
11649
  });
11600
11650
  }
11601
11651
 
11652
+ function setStatesFlag(el, stateName) {
11653
+ switch (stateName) {
11654
+ case 'emphasis':
11655
+ el.hoverState = HOVER_STATE_EMPHASIS;
11656
+ break;
11657
+
11658
+ case 'normal':
11659
+ el.hoverState = HOVER_STATE_NORMAL;
11660
+ break;
11661
+
11662
+ case 'blur':
11663
+ el.hoverState = HOVER_STATE_BLUR;
11664
+ break;
11665
+
11666
+ case 'select':
11667
+ el.selected = true;
11668
+ }
11669
+ }
11670
+
11602
11671
  function getFromStateStyle(el, props, toStateName, defaultValue) {
11603
11672
  var style = el.style;
11604
11673
  var fromState = {};
@@ -12208,7 +12277,7 @@ function savePathStates(el) {
12208
12277
  store.selectStroke = selectState.style && selectState.style.stroke || null;
12209
12278
  }
12210
12279
 
12211
- var CMD$1 = PathProxy.CMD;
12280
+ var CMD = PathProxy.CMD;
12212
12281
  var points = [[], [], []];
12213
12282
  var mathSqrt$2 = Math.sqrt;
12214
12283
  var mathAtan2 = Math.atan2;
@@ -12224,12 +12293,12 @@ function transformPath(path, m) {
12224
12293
  var j;
12225
12294
  var k;
12226
12295
  var p;
12227
- var M = CMD$1.M;
12228
- var C = CMD$1.C;
12229
- var L = CMD$1.L;
12230
- var R = CMD$1.R;
12231
- var A = CMD$1.A;
12232
- var Q = CMD$1.Q;
12296
+ var M = CMD.M;
12297
+ var C = CMD.C;
12298
+ var L = CMD.L;
12299
+ var R = CMD.R;
12300
+ var A = CMD.A;
12301
+ var Q = CMD.Q;
12233
12302
  for (i = 0, j = 0; i < len;) {
12234
12303
  cmd = data[i++];
12235
12304
  j = i;
@@ -12627,6 +12696,31 @@ function mergePath$1(pathEls, opts) {
12627
12696
  };
12628
12697
  return pathBundle;
12629
12698
  }
12699
+ function clonePath(sourcePath, opts) {
12700
+ opts = opts || {};
12701
+ var path = new Path();
12702
+ if (sourcePath.shape) {
12703
+ path.setShape(sourcePath.shape);
12704
+ }
12705
+ path.setStyle(sourcePath.style);
12706
+ if (opts.bakeTransform) {
12707
+ transformPath(path.path, sourcePath.getComputedTransform());
12708
+ }
12709
+ else {
12710
+ if (opts.toLocal) {
12711
+ path.setLocalTransform(sourcePath.getComputedTransform());
12712
+ }
12713
+ else {
12714
+ path.copyTransform(sourcePath);
12715
+ }
12716
+ }
12717
+ path.buildPath = sourcePath.buildPath;
12718
+ path.applyTransform = path.applyTransform;
12719
+ path.z = sourcePath.z;
12720
+ path.z2 = sourcePath.z2;
12721
+ path.zlevel = sourcePath.zlevel;
12722
+ return path;
12723
+ }
12630
12724
 
12631
12725
  var CircleShape = (function () {
12632
12726
  function CircleShape() {
@@ -12689,7 +12783,7 @@ var Ellipse = (function (_super) {
12689
12783
  Ellipse.prototype.type = 'ellipse';
12690
12784
 
12691
12785
  var PI$2 = Math.PI;
12692
- var PI2$1 = PI$2 * 2;
12786
+ var PI2 = PI$2 * 2;
12693
12787
  var mathSin = Math.sin;
12694
12788
  var mathCos = Math.cos;
12695
12789
  var mathACos = Math.acos;
@@ -12800,12 +12894,12 @@ function buildPath$1(ctx, shape) {
12800
12894
  var cx = shape.cx, cy = shape.cy;
12801
12895
  var clockwise = !!shape.clockwise;
12802
12896
  var arc = mathAbs(endAngle - startAngle);
12803
- var mod = arc > PI2$1 && arc % PI2$1;
12897
+ var mod = arc > PI2 && arc % PI2;
12804
12898
  mod > e && (arc = mod);
12805
12899
  if (!(radius > e)) {
12806
12900
  ctx.moveTo(cx, cy);
12807
12901
  }
12808
- else if (arc > PI2$1 - e) {
12902
+ else if (arc > PI2 - e) {
12809
12903
  ctx.moveTo(cx + radius * mathCos(startAngle), cy + radius * mathSin(startAngle));
12810
12904
  ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
12811
12905
  if (innerRadius > e) {
@@ -13851,6 +13945,9 @@ function removeElementWithFadeOut(el, animatableModel, dataIndex) {
13851
13945
  function saveOldStyle(el) {
13852
13946
  transitionStore(el).oldStyle = el.style;
13853
13947
  }
13948
+ function getOldStyle(el) {
13949
+ return transitionStore(el).oldStyle;
13950
+ }
13854
13951
 
13855
13952
  var mathMax = Math.max;
13856
13953
  var mathMin = Math.min;
@@ -25304,6 +25401,13 @@ keepAspect) {
25304
25401
 
25305
25402
  return symbolPath;
25306
25403
  }
25404
+ function normalizeSymbolSize(symbolSize) {
25405
+ if (!isArray(symbolSize)) {
25406
+ symbolSize = [+symbolSize, +symbolSize];
25407
+ }
25408
+
25409
+ return [symbolSize[0] || 0, symbolSize[1] || 0];
25410
+ }
25307
25411
  function normalizeSymbolOffset(symbolOffset, symbolSize) {
25308
25412
  if (symbolOffset == null) {
25309
25413
  return;
@@ -33409,583 +33513,6 @@ function use(ext) {
33409
33513
  ext.install(extensionRegisters);
33410
33514
  }
33411
33515
 
33412
- var PI2 = Math.PI * 2;
33413
- var CMD = PathProxy.CMD;
33414
- var DEFAULT_SEARCH_SPACE = ['top', 'right', 'bottom', 'left'];
33415
-
33416
- function getCandidateAnchor(pos, distance, rect, outPt, outDir) {
33417
- var width = rect.width;
33418
- var height = rect.height;
33419
-
33420
- switch (pos) {
33421
- case 'top':
33422
- outPt.set(rect.x + width / 2, rect.y - distance);
33423
- outDir.set(0, -1);
33424
- break;
33425
-
33426
- case 'bottom':
33427
- outPt.set(rect.x + width / 2, rect.y + height + distance);
33428
- outDir.set(0, 1);
33429
- break;
33430
-
33431
- case 'left':
33432
- outPt.set(rect.x - distance, rect.y + height / 2);
33433
- outDir.set(-1, 0);
33434
- break;
33435
-
33436
- case 'right':
33437
- outPt.set(rect.x + width + distance, rect.y + height / 2);
33438
- outDir.set(1, 0);
33439
- break;
33440
- }
33441
- }
33442
-
33443
- function projectPointToArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y, out) {
33444
- x -= cx;
33445
- y -= cy;
33446
- var d = Math.sqrt(x * x + y * y);
33447
- x /= d;
33448
- y /= d; // Intersect point.
33449
-
33450
- var ox = x * r + cx;
33451
- var oy = y * r + cy;
33452
-
33453
- if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {
33454
- // Is a circle
33455
- out[0] = ox;
33456
- out[1] = oy;
33457
- return d - r;
33458
- }
33459
-
33460
- if (anticlockwise) {
33461
- var tmp = startAngle;
33462
- startAngle = normalizeRadian(endAngle);
33463
- endAngle = normalizeRadian(tmp);
33464
- } else {
33465
- startAngle = normalizeRadian(startAngle);
33466
- endAngle = normalizeRadian(endAngle);
33467
- }
33468
-
33469
- if (startAngle > endAngle) {
33470
- endAngle += PI2;
33471
- }
33472
-
33473
- var angle = Math.atan2(y, x);
33474
-
33475
- if (angle < 0) {
33476
- angle += PI2;
33477
- }
33478
-
33479
- if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {
33480
- // Project point is on the arc.
33481
- out[0] = ox;
33482
- out[1] = oy;
33483
- return d - r;
33484
- }
33485
-
33486
- var x1 = r * Math.cos(startAngle) + cx;
33487
- var y1 = r * Math.sin(startAngle) + cy;
33488
- var x2 = r * Math.cos(endAngle) + cx;
33489
- var y2 = r * Math.sin(endAngle) + cy;
33490
- var d1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);
33491
- var d2 = (x2 - x) * (x2 - x) + (y2 - y) * (y2 - y);
33492
-
33493
- if (d1 < d2) {
33494
- out[0] = x1;
33495
- out[1] = y1;
33496
- return Math.sqrt(d1);
33497
- } else {
33498
- out[0] = x2;
33499
- out[1] = y2;
33500
- return Math.sqrt(d2);
33501
- }
33502
- }
33503
-
33504
- function projectPointToLine(x1, y1, x2, y2, x, y, out, limitToEnds) {
33505
- var dx = x - x1;
33506
- var dy = y - y1;
33507
- var dx1 = x2 - x1;
33508
- var dy1 = y2 - y1;
33509
- var lineLen = Math.sqrt(dx1 * dx1 + dy1 * dy1);
33510
- dx1 /= lineLen;
33511
- dy1 /= lineLen; // dot product
33512
-
33513
- var projectedLen = dx * dx1 + dy * dy1;
33514
- var t = projectedLen / lineLen;
33515
-
33516
- if (limitToEnds) {
33517
- t = Math.min(Math.max(t, 0), 1);
33518
- }
33519
-
33520
- t *= lineLen;
33521
- var ox = out[0] = x1 + t * dx1;
33522
- var oy = out[1] = y1 + t * dy1;
33523
- return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));
33524
- }
33525
-
33526
- function projectPointToRect(x1, y1, width, height, x, y, out) {
33527
- if (width < 0) {
33528
- x1 = x1 + width;
33529
- width = -width;
33530
- }
33531
-
33532
- if (height < 0) {
33533
- y1 = y1 + height;
33534
- height = -height;
33535
- }
33536
-
33537
- var x2 = x1 + width;
33538
- var y2 = y1 + height;
33539
- var ox = out[0] = Math.min(Math.max(x, x1), x2);
33540
- var oy = out[1] = Math.min(Math.max(y, y1), y2);
33541
- return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));
33542
- }
33543
-
33544
- var tmpPt = [];
33545
-
33546
- function nearestPointOnRect(pt, rect, out) {
33547
- var dist = projectPointToRect(rect.x, rect.y, rect.width, rect.height, pt.x, pt.y, tmpPt);
33548
- out.set(tmpPt[0], tmpPt[1]);
33549
- return dist;
33550
- }
33551
- /**
33552
- * Calculate min distance corresponding point.
33553
- * This method won't evaluate if point is in the path.
33554
- */
33555
-
33556
-
33557
- function nearestPointOnPath(pt, path, out) {
33558
- var xi = 0;
33559
- var yi = 0;
33560
- var x0 = 0;
33561
- var y0 = 0;
33562
- var x1;
33563
- var y1;
33564
- var minDist = Infinity;
33565
- var data = path.data;
33566
- var x = pt.x;
33567
- var y = pt.y;
33568
-
33569
- for (var i = 0; i < data.length;) {
33570
- var cmd = data[i++];
33571
-
33572
- if (i === 1) {
33573
- xi = data[i];
33574
- yi = data[i + 1];
33575
- x0 = xi;
33576
- y0 = yi;
33577
- }
33578
-
33579
- var d = minDist;
33580
-
33581
- switch (cmd) {
33582
- case CMD.M:
33583
- // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点
33584
- // 在 closePath 的时候使用
33585
- x0 = data[i++];
33586
- y0 = data[i++];
33587
- xi = x0;
33588
- yi = y0;
33589
- break;
33590
-
33591
- case CMD.L:
33592
- d = projectPointToLine(xi, yi, data[i], data[i + 1], x, y, tmpPt, true);
33593
- xi = data[i++];
33594
- yi = data[i++];
33595
- break;
33596
-
33597
- case CMD.C:
33598
- d = cubicProjectPoint(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);
33599
- xi = data[i++];
33600
- yi = data[i++];
33601
- break;
33602
-
33603
- case CMD.Q:
33604
- d = quadraticProjectPoint(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);
33605
- xi = data[i++];
33606
- yi = data[i++];
33607
- break;
33608
-
33609
- case CMD.A:
33610
- // TODO Arc 判断的开销比较大
33611
- var cx = data[i++];
33612
- var cy = data[i++];
33613
- var rx = data[i++];
33614
- var ry = data[i++];
33615
- var theta = data[i++];
33616
- var dTheta = data[i++]; // TODO Arc 旋转
33617
-
33618
- i += 1;
33619
- var anticlockwise = !!(1 - data[i++]);
33620
- x1 = Math.cos(theta) * rx + cx;
33621
- y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令
33622
-
33623
- if (i <= 1) {
33624
- // 第一个命令起点还未定义
33625
- x0 = x1;
33626
- y0 = y1;
33627
- } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放
33628
-
33629
-
33630
- var _x = (x - cx) * ry / rx + cx;
33631
-
33632
- d = projectPointToArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y, tmpPt);
33633
- xi = Math.cos(theta + dTheta) * rx + cx;
33634
- yi = Math.sin(theta + dTheta) * ry + cy;
33635
- break;
33636
-
33637
- case CMD.R:
33638
- x0 = xi = data[i++];
33639
- y0 = yi = data[i++];
33640
- var width = data[i++];
33641
- var height = data[i++];
33642
- d = projectPointToRect(x0, y0, width, height, x, y, tmpPt);
33643
- break;
33644
-
33645
- case CMD.Z:
33646
- d = projectPointToLine(xi, yi, x0, y0, x, y, tmpPt, true);
33647
- xi = x0;
33648
- yi = y0;
33649
- break;
33650
- }
33651
-
33652
- if (d < minDist) {
33653
- minDist = d;
33654
- out.set(tmpPt[0], tmpPt[1]);
33655
- }
33656
- }
33657
-
33658
- return minDist;
33659
- } // Temporal variable for intermediate usage.
33660
-
33661
-
33662
- var pt0 = new Point();
33663
- var pt1 = new Point();
33664
- var pt2 = new Point();
33665
- var dir = new Point();
33666
- var dir2 = new Point();
33667
- /**
33668
- * Calculate a proper guide line based on the label position and graphic element definition
33669
- * @param label
33670
- * @param labelRect
33671
- * @param target
33672
- * @param targetRect
33673
- */
33674
-
33675
- function updateLabelLinePoints(target, labelLineModel) {
33676
- if (!target) {
33677
- return;
33678
- }
33679
-
33680
- var labelLine = target.getTextGuideLine();
33681
- var label = target.getTextContent(); // Needs to create text guide in each charts.
33682
-
33683
- if (!(label && labelLine)) {
33684
- return;
33685
- }
33686
-
33687
- var labelGuideConfig = target.textGuideLineConfig || {};
33688
- var points = [[0, 0], [0, 0], [0, 0]];
33689
- var searchSpace = labelGuideConfig.candidates || DEFAULT_SEARCH_SPACE;
33690
- var labelRect = label.getBoundingRect().clone();
33691
- labelRect.applyTransform(label.getComputedTransform());
33692
- var minDist = Infinity;
33693
- var anchorPoint = labelGuideConfig.anchor;
33694
- var targetTransform = target.getComputedTransform();
33695
- var targetInversedTransform = targetTransform && invert([], targetTransform);
33696
- var len = labelLineModel.get('length2') || 0;
33697
-
33698
- if (anchorPoint) {
33699
- pt2.copy(anchorPoint);
33700
- }
33701
-
33702
- for (var i = 0; i < searchSpace.length; i++) {
33703
- var candidate = searchSpace[i];
33704
- getCandidateAnchor(candidate, 0, labelRect, pt0, dir);
33705
- Point.scaleAndAdd(pt1, pt0, dir, len); // Transform to target coord space.
33706
-
33707
- pt1.transform(targetInversedTransform); // Note: getBoundingRect will ensure the `path` being created.
33708
-
33709
- var boundingRect = target.getBoundingRect();
33710
- var dist = anchorPoint ? anchorPoint.distance(pt1) : target instanceof Path ? nearestPointOnPath(pt1, target.path, pt2) : nearestPointOnRect(pt1, boundingRect, pt2); // TODO pt2 is in the path
33711
-
33712
- if (dist < minDist) {
33713
- minDist = dist; // Transform back to global space.
33714
-
33715
- pt1.transform(targetTransform);
33716
- pt2.transform(targetTransform);
33717
- pt2.toArray(points[0]);
33718
- pt1.toArray(points[1]);
33719
- pt0.toArray(points[2]);
33720
- }
33721
- }
33722
-
33723
- limitTurnAngle(points, labelLineModel.get('minTurnAngle'));
33724
- labelLine.setShape({
33725
- points: points
33726
- });
33727
- } // Temporal variable for the limitTurnAngle function
33728
-
33729
- var tmpArr = [];
33730
- var tmpProjPoint = new Point();
33731
- /**
33732
- * Reduce the line segment attached to the label to limit the turn angle between two segments.
33733
- * @param linePoints
33734
- * @param minTurnAngle Radian of minimum turn angle. 0 - 180
33735
- */
33736
-
33737
- function limitTurnAngle(linePoints, minTurnAngle) {
33738
- if (!(minTurnAngle <= 180 && minTurnAngle > 0)) {
33739
- return;
33740
- }
33741
-
33742
- minTurnAngle = minTurnAngle / 180 * Math.PI; // The line points can be
33743
- // /pt1----pt2 (label)
33744
- // /
33745
- // pt0/
33746
-
33747
- pt0.fromArray(linePoints[0]);
33748
- pt1.fromArray(linePoints[1]);
33749
- pt2.fromArray(linePoints[2]);
33750
- Point.sub(dir, pt0, pt1);
33751
- Point.sub(dir2, pt2, pt1);
33752
- var len1 = dir.len();
33753
- var len2 = dir2.len();
33754
-
33755
- if (len1 < 1e-3 || len2 < 1e-3) {
33756
- return;
33757
- }
33758
-
33759
- dir.scale(1 / len1);
33760
- dir2.scale(1 / len2);
33761
- var angleCos = dir.dot(dir2);
33762
- var minTurnAngleCos = Math.cos(minTurnAngle);
33763
-
33764
- if (minTurnAngleCos < angleCos) {
33765
- // Smaller than minTurnAngle
33766
- // Calculate project point of pt0 on pt1-pt2
33767
- var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
33768
- tmpProjPoint.fromArray(tmpArr); // Calculate new projected length with limited minTurnAngle and get the new connect point
33769
-
33770
- tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI - minTurnAngle)); // Limit the new calculated connect point between pt1 and pt2.
33771
-
33772
- var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
33773
-
33774
- if (isNaN(t)) {
33775
- return;
33776
- }
33777
-
33778
- if (t < 0) {
33779
- Point.copy(tmpProjPoint, pt1);
33780
- } else if (t > 1) {
33781
- Point.copy(tmpProjPoint, pt2);
33782
- }
33783
-
33784
- tmpProjPoint.toArray(linePoints[1]);
33785
- }
33786
- }
33787
- /**
33788
- * Limit the angle of line and the surface
33789
- * @param maxSurfaceAngle Radian of minimum turn angle. 0 - 180. 0 is same direction to normal. 180 is opposite
33790
- */
33791
-
33792
- function limitSurfaceAngle(linePoints, surfaceNormal, maxSurfaceAngle) {
33793
- if (!(maxSurfaceAngle <= 180 && maxSurfaceAngle > 0)) {
33794
- return;
33795
- }
33796
-
33797
- maxSurfaceAngle = maxSurfaceAngle / 180 * Math.PI;
33798
- pt0.fromArray(linePoints[0]);
33799
- pt1.fromArray(linePoints[1]);
33800
- pt2.fromArray(linePoints[2]);
33801
- Point.sub(dir, pt1, pt0);
33802
- Point.sub(dir2, pt2, pt1);
33803
- var len1 = dir.len();
33804
- var len2 = dir2.len();
33805
-
33806
- if (len1 < 1e-3 || len2 < 1e-3) {
33807
- return;
33808
- }
33809
-
33810
- dir.scale(1 / len1);
33811
- dir2.scale(1 / len2);
33812
- var angleCos = dir.dot(surfaceNormal);
33813
- var maxSurfaceAngleCos = Math.cos(maxSurfaceAngle);
33814
-
33815
- if (angleCos < maxSurfaceAngleCos) {
33816
- // Calculate project point of pt0 on pt1-pt2
33817
- var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
33818
- tmpProjPoint.fromArray(tmpArr);
33819
- var HALF_PI = Math.PI / 2;
33820
- var angle2 = Math.acos(dir2.dot(surfaceNormal));
33821
- var newAngle = HALF_PI + angle2 - maxSurfaceAngle;
33822
-
33823
- if (newAngle >= HALF_PI) {
33824
- // parallel
33825
- Point.copy(tmpProjPoint, pt2);
33826
- } else {
33827
- // Calculate new projected length with limited minTurnAngle and get the new connect point
33828
- tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI / 2 - newAngle)); // Limit the new calculated connect point between pt1 and pt2.
33829
-
33830
- var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
33831
-
33832
- if (isNaN(t)) {
33833
- return;
33834
- }
33835
-
33836
- if (t < 0) {
33837
- Point.copy(tmpProjPoint, pt1);
33838
- } else if (t > 1) {
33839
- Point.copy(tmpProjPoint, pt2);
33840
- }
33841
- }
33842
-
33843
- tmpProjPoint.toArray(linePoints[1]);
33844
- }
33845
- }
33846
-
33847
- function setLabelLineState(labelLine, ignore, stateName, stateModel) {
33848
- var isNormal = stateName === 'normal';
33849
- var stateObj = isNormal ? labelLine : labelLine.ensureState(stateName); // Make sure display.
33850
-
33851
- stateObj.ignore = ignore; // Set smooth
33852
-
33853
- var smooth = stateModel.get('smooth');
33854
-
33855
- if (smooth && smooth === true) {
33856
- smooth = 0.3;
33857
- }
33858
-
33859
- stateObj.shape = stateObj.shape || {};
33860
-
33861
- if (smooth > 0) {
33862
- stateObj.shape.smooth = smooth;
33863
- }
33864
-
33865
- var styleObj = stateModel.getModel('lineStyle').getLineStyle();
33866
- isNormal ? labelLine.useStyle(styleObj) : stateObj.style = styleObj;
33867
- }
33868
-
33869
- function buildLabelLinePath(path, shape) {
33870
- var smooth = shape.smooth;
33871
- var points = shape.points;
33872
-
33873
- if (!points) {
33874
- return;
33875
- }
33876
-
33877
- path.moveTo(points[0][0], points[0][1]);
33878
-
33879
- if (smooth > 0 && points.length >= 3) {
33880
- var len1 = dist$1(points[0], points[1]);
33881
- var len2 = dist$1(points[1], points[2]);
33882
-
33883
- if (!len1 || !len2) {
33884
- path.lineTo(points[1][0], points[1][1]);
33885
- path.lineTo(points[2][0], points[2][1]);
33886
- return;
33887
- }
33888
-
33889
- var moveLen = Math.min(len1, len2) * smooth;
33890
- var midPoint0 = lerp([], points[1], points[0], moveLen / len1);
33891
- var midPoint2 = lerp([], points[1], points[2], moveLen / len2);
33892
- var midPoint1 = lerp([], midPoint0, midPoint2, 0.5);
33893
- path.bezierCurveTo(midPoint0[0], midPoint0[1], midPoint0[0], midPoint0[1], midPoint1[0], midPoint1[1]);
33894
- path.bezierCurveTo(midPoint2[0], midPoint2[1], midPoint2[0], midPoint2[1], points[2][0], points[2][1]);
33895
- } else {
33896
- for (var i = 1; i < points.length; i++) {
33897
- path.lineTo(points[i][0], points[i][1]);
33898
- }
33899
- }
33900
- }
33901
- /**
33902
- * Create a label line if necessary and set it's style.
33903
- */
33904
-
33905
-
33906
- function setLabelLineStyle(targetEl, statesModels, defaultStyle) {
33907
- var labelLine = targetEl.getTextGuideLine();
33908
- var label = targetEl.getTextContent();
33909
-
33910
- if (!label) {
33911
- // Not show label line if there is no label.
33912
- if (labelLine) {
33913
- targetEl.removeTextGuideLine();
33914
- }
33915
-
33916
- return;
33917
- }
33918
-
33919
- var normalModel = statesModels.normal;
33920
- var showNormal = normalModel.get('show');
33921
- var labelIgnoreNormal = label.ignore;
33922
-
33923
- for (var i = 0; i < DISPLAY_STATES.length; i++) {
33924
- var stateName = DISPLAY_STATES[i];
33925
- var stateModel = statesModels[stateName];
33926
- var isNormal = stateName === 'normal';
33927
-
33928
- if (stateModel) {
33929
- var stateShow = stateModel.get('show');
33930
- var isLabelIgnored = isNormal ? labelIgnoreNormal : retrieve2(label.states[stateName] && label.states[stateName].ignore, labelIgnoreNormal);
33931
-
33932
- if (isLabelIgnored // Not show when label is not shown in this state.
33933
- || !retrieve2(stateShow, showNormal) // Use normal state by default if not set.
33934
- ) {
33935
- var stateObj = isNormal ? labelLine : labelLine && labelLine.states[stateName];
33936
-
33937
- if (stateObj) {
33938
- stateObj.ignore = true;
33939
- }
33940
-
33941
- continue;
33942
- } // Create labelLine if not exists
33943
-
33944
-
33945
- if (!labelLine) {
33946
- labelLine = new Polyline();
33947
- targetEl.setTextGuideLine(labelLine); // Reset state of normal because it's new created.
33948
- // NOTE: NORMAL should always been the first!
33949
-
33950
- if (!isNormal && (labelIgnoreNormal || !showNormal)) {
33951
- setLabelLineState(labelLine, true, 'normal', statesModels.normal);
33952
- } // Use same state proxy.
33953
-
33954
-
33955
- if (targetEl.stateProxy) {
33956
- labelLine.stateProxy = targetEl.stateProxy;
33957
- }
33958
- }
33959
-
33960
- setLabelLineState(labelLine, false, stateName, stateModel);
33961
- }
33962
- }
33963
-
33964
- if (labelLine) {
33965
- defaults(labelLine.style, defaultStyle); // Not fill.
33966
-
33967
- labelLine.style.fill = null;
33968
- var showAbove = normalModel.get('showAbove');
33969
- var labelLineConfig = targetEl.textGuideLineConfig = targetEl.textGuideLineConfig || {};
33970
- labelLineConfig.showAbove = showAbove || false; // Custom the buildPath.
33971
-
33972
- labelLine.buildPath = buildLabelLinePath;
33973
- }
33974
- }
33975
- function getLabelLineStatesModels(itemModel, labelLineName) {
33976
- labelLineName = labelLineName || 'labelLine';
33977
- var statesModels = {
33978
- normal: itemModel.getModel(labelLineName)
33979
- };
33980
-
33981
- for (var i = 0; i < SPECIAL_STATES.length; i++) {
33982
- var stateName = SPECIAL_STATES[i];
33983
- statesModels[stateName] = itemModel.getModel([stateName, labelLineName]);
33984
- }
33985
-
33986
- return statesModels;
33987
- }
33988
-
33989
33516
  function prepareLayoutList(input) {
33990
33517
  var list = [];
33991
33518
 
@@ -34284,468 +33811,6 @@ function hideOverlap(labelList) {
34284
33811
  }
34285
33812
  }
34286
33813
 
34287
- function cloneArr(points) {
34288
- if (points) {
34289
- var newPoints = [];
34290
-
34291
- for (var i = 0; i < points.length; i++) {
34292
- newPoints.push(points[i].slice());
34293
- }
34294
-
34295
- return newPoints;
34296
- }
34297
- }
34298
-
34299
- function prepareLayoutCallbackParams(labelItem, hostEl) {
34300
- var label = labelItem.label;
34301
- var labelLine = hostEl && hostEl.getTextGuideLine();
34302
- return {
34303
- dataIndex: labelItem.dataIndex,
34304
- dataType: labelItem.dataType,
34305
- seriesIndex: labelItem.seriesModel.seriesIndex,
34306
- text: labelItem.label.style.text,
34307
- rect: labelItem.hostRect,
34308
- labelRect: labelItem.rect,
34309
- // x: labelAttr.x,
34310
- // y: labelAttr.y,
34311
- align: label.style.align,
34312
- verticalAlign: label.style.verticalAlign,
34313
- labelLinePoints: cloneArr(labelLine && labelLine.shape.points)
34314
- };
34315
- }
34316
-
34317
- var LABEL_OPTION_TO_STYLE_KEYS = ['align', 'verticalAlign', 'width', 'height', 'fontSize'];
34318
- var dummyTransformable = new Transformable();
34319
- var labelLayoutInnerStore = makeInner();
34320
- var labelLineAnimationStore = makeInner();
34321
-
34322
- function extendWithKeys(target, source, keys) {
34323
- for (var i = 0; i < keys.length; i++) {
34324
- var key = keys[i];
34325
-
34326
- if (source[key] != null) {
34327
- target[key] = source[key];
34328
- }
34329
- }
34330
- }
34331
-
34332
- var LABEL_LAYOUT_PROPS = ['x', 'y', 'rotation'];
34333
-
34334
- var LabelManager =
34335
- /** @class */
34336
- function () {
34337
- function LabelManager() {
34338
- this._labelList = [];
34339
- this._chartViewList = [];
34340
- }
34341
-
34342
- LabelManager.prototype.clearLabels = function () {
34343
- this._labelList = [];
34344
- this._chartViewList = [];
34345
- };
34346
- /**
34347
- * Add label to manager
34348
- */
34349
-
34350
-
34351
- LabelManager.prototype._addLabel = function (dataIndex, dataType, seriesModel, label, layoutOption) {
34352
- var labelStyle = label.style;
34353
- var hostEl = label.__hostTarget;
34354
- var textConfig = hostEl.textConfig || {}; // TODO: If label is in other state.
34355
-
34356
- var labelTransform = label.getComputedTransform();
34357
- var labelRect = label.getBoundingRect().plain();
34358
- BoundingRect.applyTransform(labelRect, labelRect, labelTransform);
34359
-
34360
- if (labelTransform) {
34361
- dummyTransformable.setLocalTransform(labelTransform);
34362
- } else {
34363
- // Identity transform.
34364
- dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;
34365
- dummyTransformable.scaleX = dummyTransformable.scaleY = 1;
34366
- }
34367
-
34368
- var host = label.__hostTarget;
34369
- var hostRect;
34370
-
34371
- if (host) {
34372
- hostRect = host.getBoundingRect().plain();
34373
- var transform = host.getComputedTransform();
34374
- BoundingRect.applyTransform(hostRect, hostRect, transform);
34375
- }
34376
-
34377
- var labelGuide = hostRect && host.getTextGuideLine();
34378
-
34379
- this._labelList.push({
34380
- label: label,
34381
- labelLine: labelGuide,
34382
- seriesModel: seriesModel,
34383
- dataIndex: dataIndex,
34384
- dataType: dataType,
34385
- layoutOption: layoutOption,
34386
- computedLayoutOption: null,
34387
- rect: labelRect,
34388
- hostRect: hostRect,
34389
- // Label with lower priority will be hidden when overlapped
34390
- // Use rect size as default priority
34391
- priority: hostRect ? hostRect.width * hostRect.height : 0,
34392
- // Save default label attributes.
34393
- // For restore if developers want get back to default value in callback.
34394
- defaultAttr: {
34395
- ignore: label.ignore,
34396
- labelGuideIgnore: labelGuide && labelGuide.ignore,
34397
- x: dummyTransformable.x,
34398
- y: dummyTransformable.y,
34399
- scaleX: dummyTransformable.scaleX,
34400
- scaleY: dummyTransformable.scaleY,
34401
- rotation: dummyTransformable.rotation,
34402
- style: {
34403
- x: labelStyle.x,
34404
- y: labelStyle.y,
34405
- align: labelStyle.align,
34406
- verticalAlign: labelStyle.verticalAlign,
34407
- width: labelStyle.width,
34408
- height: labelStyle.height,
34409
- fontSize: labelStyle.fontSize
34410
- },
34411
- cursor: label.cursor,
34412
- attachedPos: textConfig.position,
34413
- attachedRot: textConfig.rotation
34414
- }
34415
- });
34416
- };
34417
-
34418
- LabelManager.prototype.addLabelsOfSeries = function (chartView) {
34419
- var _this = this;
34420
-
34421
- this._chartViewList.push(chartView);
34422
-
34423
- var seriesModel = chartView.__model;
34424
- var layoutOption = seriesModel.get('labelLayout');
34425
- /**
34426
- * Ignore layouting if it's not specified anything.
34427
- */
34428
-
34429
- if (!(isFunction(layoutOption) || keys(layoutOption).length)) {
34430
- return;
34431
- }
34432
-
34433
- chartView.group.traverse(function (child) {
34434
- if (child.ignore) {
34435
- return true; // Stop traverse descendants.
34436
- } // Only support label being hosted on graphic elements.
34437
-
34438
-
34439
- var textEl = child.getTextContent();
34440
- var ecData = getECData(child); // Can only attach the text on the element with dataIndex
34441
-
34442
- if (textEl && !textEl.disableLabelLayout) {
34443
- _this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);
34444
- }
34445
- });
34446
- };
34447
-
34448
- LabelManager.prototype.updateLayoutConfig = function (api) {
34449
- var width = api.getWidth();
34450
- var height = api.getHeight();
34451
-
34452
- function createDragHandler(el, labelLineModel) {
34453
- return function () {
34454
- updateLabelLinePoints(el, labelLineModel);
34455
- };
34456
- }
34457
-
34458
- for (var i = 0; i < this._labelList.length; i++) {
34459
- var labelItem = this._labelList[i];
34460
- var label = labelItem.label;
34461
- var hostEl = label.__hostTarget;
34462
- var defaultLabelAttr = labelItem.defaultAttr;
34463
- var layoutOption = void 0; // TODO A global layout option?
34464
-
34465
- if (isFunction(labelItem.layoutOption)) {
34466
- layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));
34467
- } else {
34468
- layoutOption = labelItem.layoutOption;
34469
- }
34470
-
34471
- layoutOption = layoutOption || {};
34472
- labelItem.computedLayoutOption = layoutOption;
34473
- var degreeToRadian = Math.PI / 180; // TODO hostEl should always exists.
34474
- // Or label should not have parent because the x, y is all in global space.
34475
-
34476
- if (hostEl) {
34477
- hostEl.setTextConfig({
34478
- // Force to set local false.
34479
- local: false,
34480
- // Ignore position and rotation config on the host el if x or y is changed.
34481
- position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,
34482
- // Ignore rotation config on the host el if rotation is changed.
34483
- rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,
34484
- offset: [layoutOption.dx || 0, layoutOption.dy || 0]
34485
- });
34486
- }
34487
-
34488
- var needsUpdateLabelLine = false;
34489
-
34490
- if (layoutOption.x != null) {
34491
- // TODO width of chart view.
34492
- label.x = parsePercent(layoutOption.x, width);
34493
- label.setStyle('x', 0); // Ignore movement in style. TODO: origin.
34494
-
34495
- needsUpdateLabelLine = true;
34496
- } else {
34497
- label.x = defaultLabelAttr.x;
34498
- label.setStyle('x', defaultLabelAttr.style.x);
34499
- }
34500
-
34501
- if (layoutOption.y != null) {
34502
- // TODO height of chart view.
34503
- label.y = parsePercent(layoutOption.y, height);
34504
- label.setStyle('y', 0); // Ignore movement in style.
34505
-
34506
- needsUpdateLabelLine = true;
34507
- } else {
34508
- label.y = defaultLabelAttr.y;
34509
- label.setStyle('y', defaultLabelAttr.style.y);
34510
- }
34511
-
34512
- if (layoutOption.labelLinePoints) {
34513
- var guideLine = hostEl.getTextGuideLine();
34514
-
34515
- if (guideLine) {
34516
- guideLine.setShape({
34517
- points: layoutOption.labelLinePoints
34518
- }); // Not update
34519
-
34520
- needsUpdateLabelLine = false;
34521
- }
34522
- }
34523
-
34524
- var labelLayoutStore = labelLayoutInnerStore(label);
34525
- labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;
34526
- label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;
34527
- label.scaleX = defaultLabelAttr.scaleX;
34528
- label.scaleY = defaultLabelAttr.scaleY;
34529
-
34530
- for (var k = 0; k < LABEL_OPTION_TO_STYLE_KEYS.length; k++) {
34531
- var key = LABEL_OPTION_TO_STYLE_KEYS[k];
34532
- label.setStyle(key, layoutOption[key] != null ? layoutOption[key] : defaultLabelAttr.style[key]);
34533
- }
34534
-
34535
- if (layoutOption.draggable) {
34536
- label.draggable = true;
34537
- label.cursor = 'move';
34538
-
34539
- if (hostEl) {
34540
- var hostModel = labelItem.seriesModel;
34541
-
34542
- if (labelItem.dataIndex != null) {
34543
- var data = labelItem.seriesModel.getData(labelItem.dataType);
34544
- hostModel = data.getItemModel(labelItem.dataIndex);
34545
- }
34546
-
34547
- label.on('drag', createDragHandler(hostEl, hostModel.getModel('labelLine')));
34548
- }
34549
- } else {
34550
- // TODO Other drag functions?
34551
- label.off('drag');
34552
- label.cursor = defaultLabelAttr.cursor;
34553
- }
34554
- }
34555
- };
34556
-
34557
- LabelManager.prototype.layout = function (api) {
34558
- var width = api.getWidth();
34559
- var height = api.getHeight();
34560
- var labelList = prepareLayoutList(this._labelList);
34561
- var labelsNeedsAdjustOnX = filter(labelList, function (item) {
34562
- return item.layoutOption.moveOverlap === 'shiftX';
34563
- });
34564
- var labelsNeedsAdjustOnY = filter(labelList, function (item) {
34565
- return item.layoutOption.moveOverlap === 'shiftY';
34566
- });
34567
- shiftLayoutOnX(labelsNeedsAdjustOnX, 0, width);
34568
- shiftLayoutOnY(labelsNeedsAdjustOnY, 0, height);
34569
- var labelsNeedsHideOverlap = filter(labelList, function (item) {
34570
- return item.layoutOption.hideOverlap;
34571
- });
34572
- hideOverlap(labelsNeedsHideOverlap);
34573
- };
34574
- /**
34575
- * Process all labels. Not only labels with layoutOption.
34576
- */
34577
-
34578
-
34579
- LabelManager.prototype.processLabelsOverall = function () {
34580
- var _this = this;
34581
-
34582
- each$3(this._chartViewList, function (chartView) {
34583
- var seriesModel = chartView.__model;
34584
- var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;
34585
- var animationEnabled = seriesModel.isAnimationEnabled();
34586
- chartView.group.traverse(function (child) {
34587
- if (child.ignore && !child.forceLabelAnimation) {
34588
- return true; // Stop traverse descendants.
34589
- }
34590
-
34591
- var needsUpdateLabelLine = !ignoreLabelLineUpdate;
34592
- var label = child.getTextContent();
34593
-
34594
- if (!needsUpdateLabelLine && label) {
34595
- needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;
34596
- }
34597
-
34598
- if (needsUpdateLabelLine) {
34599
- _this._updateLabelLine(child, seriesModel);
34600
- }
34601
-
34602
- if (animationEnabled) {
34603
- _this._animateLabels(child, seriesModel);
34604
- }
34605
- });
34606
- });
34607
- };
34608
-
34609
- LabelManager.prototype._updateLabelLine = function (el, seriesModel) {
34610
- // Only support label being hosted on graphic elements.
34611
- var textEl = el.getTextContent(); // Update label line style.
34612
-
34613
- var ecData = getECData(el);
34614
- var dataIndex = ecData.dataIndex; // Only support labelLine on the labels represent data.
34615
-
34616
- if (textEl && dataIndex != null) {
34617
- var data = seriesModel.getData(ecData.dataType);
34618
- var itemModel = data.getItemModel(dataIndex);
34619
- var defaultStyle = {};
34620
- var visualStyle = data.getItemVisual(dataIndex, 'style');
34621
- var visualType = data.getVisual('drawType'); // Default to be same with main color
34622
-
34623
- defaultStyle.stroke = visualStyle[visualType];
34624
- var labelLineModel = itemModel.getModel('labelLine');
34625
- setLabelLineStyle(el, getLabelLineStatesModels(itemModel), defaultStyle);
34626
- updateLabelLinePoints(el, labelLineModel);
34627
- }
34628
- };
34629
-
34630
- LabelManager.prototype._animateLabels = function (el, seriesModel) {
34631
- var textEl = el.getTextContent();
34632
- var guideLine = el.getTextGuideLine(); // Animate
34633
-
34634
- if (textEl // `forceLabelAnimation` has the highest priority
34635
- && (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !isElementRemoved(el))) {
34636
- var layoutStore = labelLayoutInnerStore(textEl);
34637
- var oldLayout = layoutStore.oldLayout;
34638
- var ecData = getECData(el);
34639
- var dataIndex = ecData.dataIndex;
34640
- var newProps = {
34641
- x: textEl.x,
34642
- y: textEl.y,
34643
- rotation: textEl.rotation
34644
- };
34645
- var data = seriesModel.getData(ecData.dataType);
34646
-
34647
- if (!oldLayout) {
34648
- textEl.attr(newProps); // Disable fade in animation if value animation is enabled.
34649
-
34650
- if (!labelInner(textEl).valueAnimation) {
34651
- var oldOpacity = retrieve2(textEl.style.opacity, 1); // Fade in animation
34652
-
34653
- textEl.style.opacity = 0;
34654
- initProps(textEl, {
34655
- style: {
34656
- opacity: oldOpacity
34657
- }
34658
- }, seriesModel, dataIndex);
34659
- }
34660
- } else {
34661
- textEl.attr(oldLayout); // Make sure the animation from is in the right status.
34662
-
34663
- var prevStates = el.prevStates;
34664
-
34665
- if (prevStates) {
34666
- if (indexOf(prevStates, 'select') >= 0) {
34667
- textEl.attr(layoutStore.oldLayoutSelect);
34668
- }
34669
-
34670
- if (indexOf(prevStates, 'emphasis') >= 0) {
34671
- textEl.attr(layoutStore.oldLayoutEmphasis);
34672
- }
34673
- }
34674
-
34675
- updateProps$1(textEl, newProps, seriesModel, dataIndex);
34676
- }
34677
-
34678
- layoutStore.oldLayout = newProps;
34679
-
34680
- if (textEl.states.select) {
34681
- var layoutSelect = layoutStore.oldLayoutSelect = {};
34682
- extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);
34683
- extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);
34684
- }
34685
-
34686
- if (textEl.states.emphasis) {
34687
- var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};
34688
- extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);
34689
- extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);
34690
- }
34691
-
34692
- animateLabelValue(textEl, dataIndex, data, seriesModel, seriesModel);
34693
- }
34694
-
34695
- if (guideLine && !guideLine.ignore && !guideLine.invisible) {
34696
- var layoutStore = labelLineAnimationStore(guideLine);
34697
- var oldLayout = layoutStore.oldLayout;
34698
- var newLayout = {
34699
- points: guideLine.shape.points
34700
- };
34701
-
34702
- if (!oldLayout) {
34703
- guideLine.setShape(newLayout);
34704
- guideLine.style.strokePercent = 0;
34705
- initProps(guideLine, {
34706
- style: {
34707
- strokePercent: 1
34708
- }
34709
- }, seriesModel);
34710
- } else {
34711
- guideLine.attr({
34712
- shape: oldLayout
34713
- });
34714
- updateProps$1(guideLine, {
34715
- shape: newLayout
34716
- }, seriesModel);
34717
- }
34718
-
34719
- layoutStore.oldLayout = newLayout;
34720
- }
34721
- };
34722
-
34723
- return LabelManager;
34724
- }();
34725
-
34726
- var getLabelManager = makeInner();
34727
- function installLabelLayout(registers) {
34728
- registers.registerUpdateLifecycle('series:beforeupdate', function (ecModel, api, params) {
34729
- // TODO api provide an namespace that can save stuff per instance
34730
- var labelManager = getLabelManager(api).labelManager;
34731
-
34732
- if (!labelManager) {
34733
- labelManager = getLabelManager(api).labelManager = new LabelManager();
34734
- }
34735
-
34736
- labelManager.clearLabels();
34737
- });
34738
- registers.registerUpdateLifecycle('series:layoutlabels', function (ecModel, api, params) {
34739
- var labelManager = getLabelManager(api).labelManager;
34740
- params.updatedSeries.forEach(function (series) {
34741
- labelManager.addLabelsOfSeries(api.getViewOfSeriesModel(series));
34742
- });
34743
- labelManager.updateLayoutConfig(api);
34744
- labelManager.layout(api);
34745
- labelManager.processLabelsOverall();
34746
- });
34747
- }
34748
-
34749
33814
  /**
34750
33815
  * Can only be called after coordinate system creation stage.
34751
33816
  * (Can be called before coordinate system update stage).
@@ -38288,23 +37353,34 @@ exports.ChartView = ChartView;
38288
37353
  exports.ComponentModel = ComponentModel;
38289
37354
  exports.ComponentView = ComponentView;
38290
37355
  exports.CoordinateSystemManager = CoordinateSystemManager;
37356
+ exports.DISPLAY_STATES = DISPLAY_STATES;
37357
+ exports.DataDiffer = DataDiffer;
37358
+ exports.Displayable = Displayable;
38291
37359
  exports.Group = Group;
38292
37360
  exports.IntervalScale = IntervalScale;
38293
37361
  exports.Line = Line;
37362
+ exports.LinearGradient = LinearGradient;
38294
37363
  exports.Model = Model;
38295
37364
  exports.OrdinalMeta = OrdinalMeta;
38296
37365
  exports.Path = Path;
37366
+ exports.PathProxy = PathProxy;
38297
37367
  exports.Point = Point;
37368
+ exports.Polygon = Polygon;
38298
37369
  exports.Polyline = Polyline;
38299
37370
  exports.Rect = Rect;
37371
+ exports.SERIES_UNIVERSAL_TRANSITION_PROP = SERIES_UNIVERSAL_TRANSITION_PROP;
38300
37372
  exports.SINGLE_REFERRING = SINGLE_REFERRING;
38301
37373
  exports.SOURCE_FORMAT_ORIGINAL = SOURCE_FORMAT_ORIGINAL;
37374
+ exports.SPECIAL_STATES = SPECIAL_STATES;
38302
37375
  exports.Sector = Sector;
38303
37376
  exports.SeriesData = SeriesData;
38304
37377
  exports.SeriesModel = SeriesModel;
38305
37378
  exports.TooltipMarkupStyleCreator = TooltipMarkupStyleCreator;
37379
+ exports.Transformable = Transformable;
37380
+ exports.ZRImage = ZRImage;
38306
37381
  exports.ZRText = ZRText;
38307
37382
  exports.__extends = __extends$1;
37383
+ exports.animateLabelValue = animateLabelValue;
38308
37384
  exports.applyTransform = applyTransform$1;
38309
37385
  exports.bind = bind$1;
38310
37386
  exports.box = box;
@@ -38312,24 +37388,33 @@ exports.buildTooltipMarkup = buildTooltipMarkup;
38312
37388
  exports.calculateTextPosition = calculateTextPosition;
38313
37389
  exports.clear = clear;
38314
37390
  exports.clone = clone$2;
37391
+ exports.clonePath = clonePath;
38315
37392
  exports.convertToColorString = convertToColorString;
37393
+ exports.createFloat32Array = createFloat32Array;
38316
37394
  exports.createHashMap = createHashMap;
38317
37395
  exports.createIcon = createIcon;
38318
37396
  exports.createLegacyDataSelectAction = createLegacyDataSelectAction;
38319
37397
  exports.createOrUpdate = createOrUpdate;
38320
37398
  exports.createOrUpdatePatternFromDecal = createOrUpdatePatternFromDecal;
38321
37399
  exports.createProgressiveLayout = createProgressiveLayout;
37400
+ exports.createRenderPlanner = createRenderPlanner;
38322
37401
  exports.createScaleByModel = createScaleByModel;
38323
37402
  exports.createSourceFromSeriesDataOption = createSourceFromSeriesDataOption;
38324
37403
  exports.createSymbol = createSymbol;
38325
37404
  exports.createTextStyle = createTextStyle;
38326
37405
  exports.createTooltipMarkup = createTooltipMarkup;
37406
+ exports.cubicAt = cubicAt;
37407
+ exports.cubicProjectPoint = cubicProjectPoint;
37408
+ exports.cubicRootAt = cubicRootAt;
37409
+ exports.cubicSubdivide = cubicSubdivide;
38327
37410
  exports.curry = curry;
38328
37411
  exports.defaultEmphasis = defaultEmphasis;
38329
37412
  exports.defaults = defaults;
37413
+ exports.dist = dist$1;
38330
37414
  exports.each = each$3;
38331
37415
  exports.enableDataStack = enableDataStack;
38332
37416
  exports.enableHoverEmphasis = enableHoverEmphasis;
37417
+ exports.enterEmphasis = enterEmphasis;
38333
37418
  exports.env = env;
38334
37419
  exports.estimateLabelUnionRect = estimateLabelUnionRect;
38335
37420
  exports.extend = extend;
@@ -38340,16 +37425,18 @@ exports.findEventDispatcher = findEventDispatcher;
38340
37425
  exports.findPointFromSeries = findPointFromSeries;
38341
37426
  exports.format = format;
38342
37427
  exports.formatTpl = formatTpl;
37428
+ exports.fromPoints = fromPoints;
37429
+ exports.getAnimationConfig = getAnimationConfig;
38343
37430
  exports.getAxisRawValue = getAxisRawValue;
38344
37431
  exports.getBoundingRect = getBoundingRect;
38345
37432
  exports.getDataDimensionsOnAxis = getDataDimensionsOnAxis;
38346
37433
  exports.getDataItemValue = getDataItemValue;
38347
37434
  exports.getDimensionTypeByAxis = getDimensionTypeByAxis;
38348
37435
  exports.getECData = getECData;
38349
- exports.getLabelLineStatesModels = getLabelLineStatesModels;
38350
37436
  exports.getLabelStatesModels = getLabelStatesModels;
38351
37437
  exports.getLayoutParams = getLayoutParams;
38352
37438
  exports.getLayoutRect = getLayoutRect;
37439
+ exports.getOldStyle = getOldStyle;
38353
37440
  exports.getOptionCategoryInterval = getOptionCategoryInterval;
38354
37441
  exports.getPaddingFromTooltipModel = getPaddingFromTooltipModel;
38355
37442
  exports.getPercentSeats = getPercentSeats;
@@ -38358,20 +37445,23 @@ exports.getScaleExtent = getScaleExtent;
38358
37445
  exports.getTooltipRenderMode = getTooltipRenderMode;
38359
37446
  exports.getValueLabel = getValueLabel;
38360
37447
  exports.groupTransition = groupTransition;
37448
+ exports.hideOverlap = hideOverlap;
38361
37449
  exports.ifAxisCrossZero = ifAxisCrossZero;
38362
37450
  exports.increaseInterval = increaseInterval;
38363
37451
  exports.indexOf = indexOf;
38364
37452
  exports.inheritDefaultOption = inheritDefaultOption;
38365
37453
  exports.init = init;
38366
37454
  exports.initProps = initProps;
38367
- exports.install = install$2;
38368
- exports.install$1 = install$1;
38369
- exports.install$2 = install;
38370
- exports.installLabelLayout = installLabelLayout;
37455
+ exports.install = install$1;
37456
+ exports.install$1 = install;
37457
+ exports.install$2 = install$2;
37458
+ exports.interpolateRawValues = interpolateRawValues;
38371
37459
  exports.invert = invert;
38372
37460
  exports.isArray = isArray;
38373
37461
  exports.isCartesian2DSeries = isCartesian2DSeries;
37462
+ exports.isDimensionStacked = isDimensionStacked;
38374
37463
  exports.isDom = isDom;
37464
+ exports.isElementRemoved = isElementRemoved;
38375
37465
  exports.isFunction = isFunction;
38376
37466
  exports.isIntervalOrLogScale = isIntervalOrLogScale;
38377
37467
  exports.isNameSpecified = isNameSpecified;
@@ -38382,8 +37472,9 @@ exports.keys = keys;
38382
37472
  exports.labelInner = labelInner;
38383
37473
  exports.layout = layout;
38384
37474
  exports.layout$1 = layout$1;
38385
- exports.limitSurfaceAngle = limitSurfaceAngle;
38386
- exports.limitTurnAngle = limitTurnAngle;
37475
+ exports.leaveEmphasis = leaveEmphasis;
37476
+ exports.lerp = lerp;
37477
+ exports.lerp$1 = lerp$1;
38387
37478
  exports.linearMap = linearMap;
38388
37479
  exports.makeInner = makeInner;
38389
37480
  exports.makeLabelFormatter = makeLabelFormatter;
@@ -38397,25 +37488,34 @@ exports.niceScaleExtent = niceScaleExtent;
38397
37488
  exports.noop = noop;
38398
37489
  exports.normalizeCssArray = normalizeCssArray;
38399
37490
  exports.normalizeEvent = normalizeEvent;
37491
+ exports.normalizeRadian = normalizeRadian;
37492
+ exports.normalizeSymbolOffset = normalizeSymbolOffset;
37493
+ exports.normalizeSymbolSize = normalizeSymbolSize;
37494
+ exports.normalizeToArray = normalizeToArray;
38400
37495
  exports.normalizeTooltipFormatResult = normalizeTooltipFormatResult;
38401
37496
  exports.parse = parse;
38402
37497
  exports.parsePercent = parsePercent;
38403
37498
  exports.parsePercent$1 = parsePercent$1;
38404
37499
  exports.preParseFinder = preParseFinder;
37500
+ exports.prepareLayoutList = prepareLayoutList;
38405
37501
  exports.prepareSeriesDataSchema = prepareSeriesDataSchema;
37502
+ exports.quadraticProjectPoint = quadraticProjectPoint;
37503
+ exports.queryDataIndex = queryDataIndex;
38406
37504
  exports.queryReferringComponents = queryReferringComponents;
38407
37505
  exports.register = register;
37506
+ exports.removeElement = removeElement;
38408
37507
  exports.removeElementWithFadeOut = removeElementWithFadeOut;
38409
37508
  exports.retrieve2 = retrieve2;
38410
37509
  exports.retrieve3 = retrieve3;
38411
37510
  exports.retrieveRawValue = retrieveRawValue;
38412
37511
  exports.round = round$1;
38413
37512
  exports.saveOldStyle = saveOldStyle;
38414
- exports.setLabelLineStyle = setLabelLineStyle;
38415
37513
  exports.setLabelStyle = setLabelStyle;
38416
37514
  exports.setLabelValueAnimation = setLabelValueAnimation;
37515
+ exports.setStatesFlag = setStatesFlag;
38417
37516
  exports.setStatesStylesFromModel = setStatesStylesFromModel;
38418
37517
  exports.setTooltipConfig = setTooltipConfig;
37518
+ exports.shiftLayoutOnX = shiftLayoutOnX;
38419
37519
  exports.shiftLayoutOnY = shiftLayoutOnY;
38420
37520
  exports.shouldShowAllLabels = shouldShowAllLabels;
38421
37521
  exports.stringify = stringify;