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
@@ -779,7 +779,7 @@ function distanceSquare(v1, v2) {
779
779
  + (v1[1] - v2[1]) * (v1[1] - v2[1]);
780
780
  }
781
781
  var distSquare = distanceSquare;
782
- function lerp(out, v1, v2, t) {
782
+ function lerp$1(out, v1, v2, t) {
783
783
  out[0] = v1[0] + t * (v2[0] - v1[0]);
784
784
  out[1] = v1[1] + t * (v2[1] - v1[1]);
785
785
  return out;
@@ -3626,6 +3626,9 @@ function cssHueToRgb(m1, m2, h) {
3626
3626
  }
3627
3627
  return m1;
3628
3628
  }
3629
+ function lerpNumber(a, b, p) {
3630
+ return a + (b - a) * p;
3631
+ }
3629
3632
  function setRgba(out, r, g, b, a) {
3630
3633
  out[0] = r;
3631
3634
  out[1] = g;
@@ -3769,6 +3772,32 @@ function lift(color, level) {
3769
3772
  return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');
3770
3773
  }
3771
3774
  }
3775
+ function lerp(normalizedValue, colors, fullOutput) {
3776
+ if (!(colors && colors.length)
3777
+ || !(normalizedValue >= 0 && normalizedValue <= 1)) {
3778
+ return;
3779
+ }
3780
+ var value = normalizedValue * (colors.length - 1);
3781
+ var leftIndex = Math.floor(value);
3782
+ var rightIndex = Math.ceil(value);
3783
+ var leftColor = parse(colors[leftIndex]);
3784
+ var rightColor = parse(colors[rightIndex]);
3785
+ var dv = value - leftIndex;
3786
+ var color = stringify([
3787
+ clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),
3788
+ clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),
3789
+ clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),
3790
+ clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))
3791
+ ], 'rgba');
3792
+ return fullOutput
3793
+ ? {
3794
+ color: color,
3795
+ leftIndex: leftIndex,
3796
+ rightIndex: rightIndex,
3797
+ value: value
3798
+ }
3799
+ : color;
3800
+ }
3772
3801
  function stringify(arrColor, type) {
3773
3802
  if (!arrColor || !arrColor.length) {
3774
3803
  return;
@@ -9033,10 +9062,31 @@ var mathMin$3 = Math.min;
9033
9062
  var mathMax$3 = Math.max;
9034
9063
  var mathSin$3 = Math.sin;
9035
9064
  var mathCos$3 = Math.cos;
9036
- var PI2$6 = Math.PI * 2;
9065
+ var PI2$5 = Math.PI * 2;
9037
9066
  var start = create$1();
9038
9067
  var end = create$1();
9039
9068
  var extremity = create$1();
9069
+ function fromPoints(points, min, max) {
9070
+ if (points.length === 0) {
9071
+ return;
9072
+ }
9073
+ var p = points[0];
9074
+ var left = p[0];
9075
+ var right = p[0];
9076
+ var top = p[1];
9077
+ var bottom = p[1];
9078
+ for (var i = 1; i < points.length; i++) {
9079
+ p = points[i];
9080
+ left = mathMin$3(left, p[0]);
9081
+ right = mathMax$3(right, p[0]);
9082
+ top = mathMin$3(top, p[1]);
9083
+ bottom = mathMax$3(bottom, p[1]);
9084
+ }
9085
+ min[0] = left;
9086
+ min[1] = top;
9087
+ max[0] = right;
9088
+ max[1] = bottom;
9089
+ }
9040
9090
  function fromLine(x0, y0, x1, y1, min, max) {
9041
9091
  min[0] = mathMin$3(x0, x1);
9042
9092
  min[1] = mathMin$3(y0, y1);
@@ -9089,7 +9139,7 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
9089
9139
  var vec2Min = min$1;
9090
9140
  var vec2Max = max$1;
9091
9141
  var diff = Math.abs(startAngle - endAngle);
9092
- if (diff % PI2$6 < 1e-4 && diff > 1e-4) {
9142
+ if (diff % PI2$5 < 1e-4 && diff > 1e-4) {
9093
9143
  min[0] = x - rx;
9094
9144
  min[1] = y - ry;
9095
9145
  max[0] = x + rx;
@@ -9102,19 +9152,19 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
9102
9152
  end[1] = mathSin$3(endAngle) * ry + y;
9103
9153
  vec2Min(min, start, end);
9104
9154
  vec2Max(max, start, end);
9105
- startAngle = startAngle % (PI2$6);
9155
+ startAngle = startAngle % (PI2$5);
9106
9156
  if (startAngle < 0) {
9107
- startAngle = startAngle + PI2$6;
9157
+ startAngle = startAngle + PI2$5;
9108
9158
  }
9109
- endAngle = endAngle % (PI2$6);
9159
+ endAngle = endAngle % (PI2$5);
9110
9160
  if (endAngle < 0) {
9111
- endAngle = endAngle + PI2$6;
9161
+ endAngle = endAngle + PI2$5;
9112
9162
  }
9113
9163
  if (startAngle > endAngle && !anticlockwise) {
9114
- endAngle += PI2$6;
9164
+ endAngle += PI2$5;
9115
9165
  }
9116
9166
  else if (startAngle < endAngle && anticlockwise) {
9117
- startAngle += PI2$6;
9167
+ startAngle += PI2$5;
9118
9168
  }
9119
9169
  if (anticlockwise) {
9120
9170
  var tmp = endAngle;
@@ -9131,7 +9181,7 @@ function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {
9131
9181
  }
9132
9182
  }
9133
9183
 
9134
- var CMD$3 = {
9184
+ var CMD$2 = {
9135
9185
  M: 1,
9136
9186
  L: 2,
9137
9187
  C: 3,
@@ -9152,7 +9202,7 @@ var mathCos$2 = Math.cos;
9152
9202
  var mathSin$2 = Math.sin;
9153
9203
  var mathAbs$1 = Math.abs;
9154
9204
  var PI$4 = Math.PI;
9155
- var PI2$5 = PI$4 * 2;
9205
+ var PI2$4 = PI$4 * 2;
9156
9206
  var hasTypedArray = typeof Float32Array !== 'undefined';
9157
9207
  var tmpAngles = [];
9158
9208
  function modPI2(radian) {
@@ -9162,22 +9212,22 @@ function modPI2(radian) {
9162
9212
  function normalizeArcAngles(angles, anticlockwise) {
9163
9213
  var newStartAngle = modPI2(angles[0]);
9164
9214
  if (newStartAngle < 0) {
9165
- newStartAngle += PI2$5;
9215
+ newStartAngle += PI2$4;
9166
9216
  }
9167
9217
  var delta = newStartAngle - angles[0];
9168
9218
  var newEndAngle = angles[1];
9169
9219
  newEndAngle += delta;
9170
- if (!anticlockwise && newEndAngle - newStartAngle >= PI2$5) {
9171
- newEndAngle = newStartAngle + PI2$5;
9220
+ if (!anticlockwise && newEndAngle - newStartAngle >= PI2$4) {
9221
+ newEndAngle = newStartAngle + PI2$4;
9172
9222
  }
9173
- else if (anticlockwise && newStartAngle - newEndAngle >= PI2$5) {
9174
- newEndAngle = newStartAngle - PI2$5;
9223
+ else if (anticlockwise && newStartAngle - newEndAngle >= PI2$4) {
9224
+ newEndAngle = newStartAngle - PI2$4;
9175
9225
  }
9176
9226
  else if (!anticlockwise && newStartAngle > newEndAngle) {
9177
- newEndAngle = newStartAngle + (PI2$5 - modPI2(newStartAngle - newEndAngle));
9227
+ newEndAngle = newStartAngle + (PI2$4 - modPI2(newStartAngle - newEndAngle));
9178
9228
  }
9179
9229
  else if (anticlockwise && newStartAngle < newEndAngle) {
9180
- newEndAngle = newStartAngle - (PI2$5 - modPI2(newEndAngle - newStartAngle));
9230
+ newEndAngle = newStartAngle - (PI2$4 - modPI2(newEndAngle - newStartAngle));
9181
9231
  }
9182
9232
  angles[0] = newStartAngle;
9183
9233
  angles[1] = newEndAngle;
@@ -9236,7 +9286,7 @@ var PathProxy = (function () {
9236
9286
  };
9237
9287
  PathProxy.prototype.moveTo = function (x, y) {
9238
9288
  this._drawPendingPt();
9239
- this.addData(CMD$3.M, x, y);
9289
+ this.addData(CMD$2.M, x, y);
9240
9290
  this._ctx && this._ctx.moveTo(x, y);
9241
9291
  this._x0 = x;
9242
9292
  this._y0 = y;
@@ -9248,7 +9298,7 @@ var PathProxy = (function () {
9248
9298
  var dx = mathAbs$1(x - this._xi);
9249
9299
  var dy = mathAbs$1(y - this._yi);
9250
9300
  var exceedUnit = dx > this._ux || dy > this._uy;
9251
- this.addData(CMD$3.L, x, y);
9301
+ this.addData(CMD$2.L, x, y);
9252
9302
  if (this._ctx && exceedUnit) {
9253
9303
  this._ctx.lineTo(x, y);
9254
9304
  }
@@ -9269,7 +9319,7 @@ var PathProxy = (function () {
9269
9319
  };
9270
9320
  PathProxy.prototype.bezierCurveTo = function (x1, y1, x2, y2, x3, y3) {
9271
9321
  this._drawPendingPt();
9272
- this.addData(CMD$3.C, x1, y1, x2, y2, x3, y3);
9322
+ this.addData(CMD$2.C, x1, y1, x2, y2, x3, y3);
9273
9323
  if (this._ctx) {
9274
9324
  this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
9275
9325
  }
@@ -9279,7 +9329,7 @@ var PathProxy = (function () {
9279
9329
  };
9280
9330
  PathProxy.prototype.quadraticCurveTo = function (x1, y1, x2, y2) {
9281
9331
  this._drawPendingPt();
9282
- this.addData(CMD$3.Q, x1, y1, x2, y2);
9332
+ this.addData(CMD$2.Q, x1, y1, x2, y2);
9283
9333
  if (this._ctx) {
9284
9334
  this._ctx.quadraticCurveTo(x1, y1, x2, y2);
9285
9335
  }
@@ -9295,7 +9345,7 @@ var PathProxy = (function () {
9295
9345
  startAngle = tmpAngles[0];
9296
9346
  endAngle = tmpAngles[1];
9297
9347
  var delta = endAngle - startAngle;
9298
- this.addData(CMD$3.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);
9348
+ this.addData(CMD$2.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);
9299
9349
  this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);
9300
9350
  this._xi = mathCos$2(endAngle) * r + cx;
9301
9351
  this._yi = mathSin$2(endAngle) * r + cy;
@@ -9311,12 +9361,12 @@ var PathProxy = (function () {
9311
9361
  PathProxy.prototype.rect = function (x, y, w, h) {
9312
9362
  this._drawPendingPt();
9313
9363
  this._ctx && this._ctx.rect(x, y, w, h);
9314
- this.addData(CMD$3.R, x, y, w, h);
9364
+ this.addData(CMD$2.R, x, y, w, h);
9315
9365
  return this;
9316
9366
  };
9317
9367
  PathProxy.prototype.closePath = function () {
9318
9368
  this._drawPendingPt();
9319
- this.addData(CMD$3.Z);
9369
+ this.addData(CMD$2.Z);
9320
9370
  var ctx = this._ctx;
9321
9371
  var x0 = this._x0;
9322
9372
  var y0 = this._y0;
@@ -9429,7 +9479,7 @@ var PathProxy = (function () {
9429
9479
  y0 = yi;
9430
9480
  }
9431
9481
  switch (cmd) {
9432
- case CMD$3.M:
9482
+ case CMD$2.M:
9433
9483
  xi = x0 = data[i++];
9434
9484
  yi = y0 = data[i++];
9435
9485
  min2[0] = x0;
@@ -9437,22 +9487,22 @@ var PathProxy = (function () {
9437
9487
  max2[0] = x0;
9438
9488
  max2[1] = y0;
9439
9489
  break;
9440
- case CMD$3.L:
9490
+ case CMD$2.L:
9441
9491
  fromLine(xi, yi, data[i], data[i + 1], min2, max2);
9442
9492
  xi = data[i++];
9443
9493
  yi = data[i++];
9444
9494
  break;
9445
- case CMD$3.C:
9495
+ case CMD$2.C:
9446
9496
  fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);
9447
9497
  xi = data[i++];
9448
9498
  yi = data[i++];
9449
9499
  break;
9450
- case CMD$3.Q:
9500
+ case CMD$2.Q:
9451
9501
  fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);
9452
9502
  xi = data[i++];
9453
9503
  yi = data[i++];
9454
9504
  break;
9455
- case CMD$3.A:
9505
+ case CMD$2.A:
9456
9506
  var cx = data[i++];
9457
9507
  var cy = data[i++];
9458
9508
  var rx = data[i++];
@@ -9469,14 +9519,14 @@ var PathProxy = (function () {
9469
9519
  xi = mathCos$2(endAngle) * rx + cx;
9470
9520
  yi = mathSin$2(endAngle) * ry + cy;
9471
9521
  break;
9472
- case CMD$3.R:
9522
+ case CMD$2.R:
9473
9523
  x0 = xi = data[i++];
9474
9524
  y0 = yi = data[i++];
9475
9525
  var width = data[i++];
9476
9526
  var height = data[i++];
9477
9527
  fromLine(x0, y0, x0 + width, y0 + height, min2, max2);
9478
9528
  break;
9479
- case CMD$3.Z:
9529
+ case CMD$2.Z:
9480
9530
  xi = x0;
9481
9531
  yi = y0;
9482
9532
  break;
@@ -9515,11 +9565,11 @@ var PathProxy = (function () {
9515
9565
  }
9516
9566
  var l = -1;
9517
9567
  switch (cmd) {
9518
- case CMD$3.M:
9568
+ case CMD$2.M:
9519
9569
  xi = x0 = data[i++];
9520
9570
  yi = y0 = data[i++];
9521
9571
  break;
9522
- case CMD$3.L: {
9572
+ case CMD$2.L: {
9523
9573
  var x2 = data[i++];
9524
9574
  var y2 = data[i++];
9525
9575
  var dx = x2 - xi;
@@ -9531,7 +9581,7 @@ var PathProxy = (function () {
9531
9581
  }
9532
9582
  break;
9533
9583
  }
9534
- case CMD$3.C: {
9584
+ case CMD$2.C: {
9535
9585
  var x1 = data[i++];
9536
9586
  var y1 = data[i++];
9537
9587
  var x2 = data[i++];
@@ -9543,7 +9593,7 @@ var PathProxy = (function () {
9543
9593
  yi = y3;
9544
9594
  break;
9545
9595
  }
9546
- case CMD$3.Q: {
9596
+ case CMD$2.Q: {
9547
9597
  var x1 = data[i++];
9548
9598
  var y1 = data[i++];
9549
9599
  var x2 = data[i++];
@@ -9553,7 +9603,7 @@ var PathProxy = (function () {
9553
9603
  yi = y2;
9554
9604
  break;
9555
9605
  }
9556
- case CMD$3.A:
9606
+ case CMD$2.A:
9557
9607
  var cx = data[i++];
9558
9608
  var cy = data[i++];
9559
9609
  var rx = data[i++];
@@ -9567,11 +9617,11 @@ var PathProxy = (function () {
9567
9617
  x0 = mathCos$2(startAngle) * rx + cx;
9568
9618
  y0 = mathSin$2(startAngle) * ry + cy;
9569
9619
  }
9570
- l = mathMax$2(rx, ry) * mathMin$2(PI2$5, Math.abs(delta));
9620
+ l = mathMax$2(rx, ry) * mathMin$2(PI2$4, Math.abs(delta));
9571
9621
  xi = mathCos$2(endAngle) * rx + cx;
9572
9622
  yi = mathSin$2(endAngle) * ry + cy;
9573
9623
  break;
9574
- case CMD$3.R: {
9624
+ case CMD$2.R: {
9575
9625
  x0 = xi = data[i++];
9576
9626
  y0 = yi = data[i++];
9577
9627
  var width = data[i++];
@@ -9579,7 +9629,7 @@ var PathProxy = (function () {
9579
9629
  l = width * 2 + height * 2;
9580
9630
  break;
9581
9631
  }
9582
- case CMD$3.Z: {
9632
+ case CMD$2.Z: {
9583
9633
  var dx = x0 - xi;
9584
9634
  var dy = y0 - yi;
9585
9635
  l = Math.sqrt(dx * dx + dy * dy);
@@ -9636,17 +9686,17 @@ var PathProxy = (function () {
9636
9686
  x0 = xi;
9637
9687
  y0 = yi;
9638
9688
  }
9639
- if (cmd !== CMD$3.L && pendingPtDist > 0) {
9689
+ if (cmd !== CMD$2.L && pendingPtDist > 0) {
9640
9690
  ctx.lineTo(pendingPtX, pendingPtY);
9641
9691
  pendingPtDist = 0;
9642
9692
  }
9643
9693
  switch (cmd) {
9644
- case CMD$3.M:
9694
+ case CMD$2.M:
9645
9695
  x0 = xi = d[i++];
9646
9696
  y0 = yi = d[i++];
9647
9697
  ctx.moveTo(xi, yi);
9648
9698
  break;
9649
- case CMD$3.L: {
9699
+ case CMD$2.L: {
9650
9700
  x = d[i++];
9651
9701
  y = d[i++];
9652
9702
  var dx = mathAbs$1(x - xi);
@@ -9676,7 +9726,7 @@ var PathProxy = (function () {
9676
9726
  }
9677
9727
  break;
9678
9728
  }
9679
- case CMD$3.C: {
9729
+ case CMD$2.C: {
9680
9730
  var x1 = d[i++];
9681
9731
  var y1 = d[i++];
9682
9732
  var x2 = d[i++];
@@ -9699,7 +9749,7 @@ var PathProxy = (function () {
9699
9749
  yi = y3;
9700
9750
  break;
9701
9751
  }
9702
- case CMD$3.Q: {
9752
+ case CMD$2.Q: {
9703
9753
  var x1 = d[i++];
9704
9754
  var y1 = d[i++];
9705
9755
  var x2 = d[i++];
@@ -9720,7 +9770,7 @@ var PathProxy = (function () {
9720
9770
  yi = y2;
9721
9771
  break;
9722
9772
  }
9723
- case CMD$3.A:
9773
+ case CMD$2.A:
9724
9774
  var cx = d[i++];
9725
9775
  var cy = d[i++];
9726
9776
  var rx = d[i++];
@@ -9757,7 +9807,7 @@ var PathProxy = (function () {
9757
9807
  xi = mathCos$2(endAngle) * rx + cx;
9758
9808
  yi = mathSin$2(endAngle) * ry + cy;
9759
9809
  break;
9760
- case CMD$3.R:
9810
+ case CMD$2.R:
9761
9811
  x0 = xi = d[i];
9762
9812
  y0 = yi = d[i + 1];
9763
9813
  x = d[i++];
@@ -9788,7 +9838,7 @@ var PathProxy = (function () {
9788
9838
  }
9789
9839
  ctx.rect(x, y, width, height);
9790
9840
  break;
9791
- case CMD$3.Z:
9841
+ case CMD$2.Z:
9792
9842
  if (drawPart) {
9793
9843
  var l = pathSegLen[segCount++];
9794
9844
  if (accumLength + l > displayedLength) {
@@ -9812,7 +9862,7 @@ var PathProxy = (function () {
9812
9862
  newProxy._len = this._len;
9813
9863
  return newProxy;
9814
9864
  };
9815
- PathProxy.CMD = CMD$3;
9865
+ PathProxy.CMD = CMD$2;
9816
9866
  PathProxy.initDefaultProps = (function () {
9817
9867
  var proto = PathProxy.prototype;
9818
9868
  proto._saveData = true;
@@ -9879,16 +9929,16 @@ function containStroke$2(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {
9879
9929
  return d <= _l / 2;
9880
9930
  }
9881
9931
 
9882
- var PI2$4 = Math.PI * 2;
9932
+ var PI2$3 = Math.PI * 2;
9883
9933
  function normalizeRadian(angle) {
9884
- angle %= PI2$4;
9934
+ angle %= PI2$3;
9885
9935
  if (angle < 0) {
9886
- angle += PI2$4;
9936
+ angle += PI2$3;
9887
9937
  }
9888
9938
  return angle;
9889
9939
  }
9890
9940
 
9891
- var PI2$3 = Math.PI * 2;
9941
+ var PI2$2 = Math.PI * 2;
9892
9942
  function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {
9893
9943
  if (lineWidth === 0) {
9894
9944
  return false;
@@ -9900,7 +9950,7 @@ function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWid
9900
9950
  if ((d - _l > r) || (d + _l < r)) {
9901
9951
  return false;
9902
9952
  }
9903
- if (Math.abs(startAngle - endAngle) % PI2$3 < 1e-4) {
9953
+ if (Math.abs(startAngle - endAngle) % PI2$2 < 1e-4) {
9904
9954
  return true;
9905
9955
  }
9906
9956
  if (anticlockwise) {
@@ -9913,14 +9963,14 @@ function containStroke$1(cx, cy, r, startAngle, endAngle, anticlockwise, lineWid
9913
9963
  endAngle = normalizeRadian(endAngle);
9914
9964
  }
9915
9965
  if (startAngle > endAngle) {
9916
- endAngle += PI2$3;
9966
+ endAngle += PI2$2;
9917
9967
  }
9918
9968
  var angle = Math.atan2(y, x);
9919
9969
  if (angle < 0) {
9920
- angle += PI2$3;
9970
+ angle += PI2$2;
9921
9971
  }
9922
9972
  return (angle >= startAngle && angle <= endAngle)
9923
- || (angle + PI2$3 >= startAngle && angle + PI2$3 <= endAngle);
9973
+ || (angle + PI2$2 >= startAngle && angle + PI2$2 <= endAngle);
9924
9974
  }
9925
9975
 
9926
9976
  function windingLine(x0, y0, x1, y1, x, y) {
@@ -9939,8 +9989,8 @@ function windingLine(x0, y0, x1, y1, x, y) {
9939
9989
  return x_ === x ? Infinity : x_ > x ? dir : 0;
9940
9990
  }
9941
9991
 
9942
- var CMD$2 = PathProxy.CMD;
9943
- var PI2$2 = Math.PI * 2;
9992
+ var CMD$1 = PathProxy.CMD;
9993
+ var PI2$1 = Math.PI * 2;
9944
9994
  var EPSILON = 1e-4;
9945
9995
  function isAroundEqual(a, b) {
9946
9996
  return Math.abs(a - b) < EPSILON;
@@ -10057,9 +10107,9 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
10057
10107
  if (dTheta < 1e-4) {
10058
10108
  return 0;
10059
10109
  }
10060
- if (dTheta >= PI2$2 - 1e-4) {
10110
+ if (dTheta >= PI2$1 - 1e-4) {
10061
10111
  startAngle = 0;
10062
- endAngle = PI2$2;
10112
+ endAngle = PI2$1;
10063
10113
  var dir = anticlockwise ? 1 : -1;
10064
10114
  if (x >= roots[0] + cx && x <= roots[1] + cx) {
10065
10115
  return dir;
@@ -10074,8 +10124,8 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
10074
10124
  endAngle = tmp_1;
10075
10125
  }
10076
10126
  if (startAngle < 0) {
10077
- startAngle += PI2$2;
10078
- endAngle += PI2$2;
10127
+ startAngle += PI2$1;
10128
+ endAngle += PI2$1;
10079
10129
  }
10080
10130
  var w = 0;
10081
10131
  for (var i = 0; i < 2; i++) {
@@ -10084,10 +10134,10 @@ function windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {
10084
10134
  var angle = Math.atan2(y, x_);
10085
10135
  var dir = anticlockwise ? 1 : -1;
10086
10136
  if (angle < 0) {
10087
- angle = PI2$2 + angle;
10137
+ angle = PI2$1 + angle;
10088
10138
  }
10089
10139
  if ((angle >= startAngle && angle <= endAngle)
10090
- || (angle + PI2$2 >= startAngle && angle + PI2$2 <= endAngle)) {
10140
+ || (angle + PI2$1 >= startAngle && angle + PI2$1 <= endAngle)) {
10091
10141
  if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {
10092
10142
  dir = -dir;
10093
10143
  }
@@ -10110,7 +10160,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10110
10160
  for (var i = 0; i < len;) {
10111
10161
  var cmd = data[i++];
10112
10162
  var isFirst = i === 1;
10113
- if (cmd === CMD$2.M && i > 1) {
10163
+ if (cmd === CMD$1.M && i > 1) {
10114
10164
  if (!isStroke) {
10115
10165
  w += windingLine(xi, yi, x0, y0, x, y);
10116
10166
  }
@@ -10122,13 +10172,13 @@ function containPath(path, lineWidth, isStroke, x, y) {
10122
10172
  y0 = yi;
10123
10173
  }
10124
10174
  switch (cmd) {
10125
- case CMD$2.M:
10175
+ case CMD$1.M:
10126
10176
  x0 = data[i++];
10127
10177
  y0 = data[i++];
10128
10178
  xi = x0;
10129
10179
  yi = y0;
10130
10180
  break;
10131
- case CMD$2.L:
10181
+ case CMD$1.L:
10132
10182
  if (isStroke) {
10133
10183
  if (containStroke$4(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {
10134
10184
  return true;
@@ -10140,7 +10190,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10140
10190
  xi = data[i++];
10141
10191
  yi = data[i++];
10142
10192
  break;
10143
- case CMD$2.C:
10193
+ case CMD$1.C:
10144
10194
  if (isStroke) {
10145
10195
  if (containStroke$3(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
10146
10196
  return true;
@@ -10152,7 +10202,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10152
10202
  xi = data[i++];
10153
10203
  yi = data[i++];
10154
10204
  break;
10155
- case CMD$2.Q:
10205
+ case CMD$1.Q:
10156
10206
  if (isStroke) {
10157
10207
  if (containStroke$2(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {
10158
10208
  return true;
@@ -10164,7 +10214,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10164
10214
  xi = data[i++];
10165
10215
  yi = data[i++];
10166
10216
  break;
10167
- case CMD$2.A:
10217
+ case CMD$1.A:
10168
10218
  var cx = data[i++];
10169
10219
  var cy = data[i++];
10170
10220
  var rx = data[i++];
@@ -10194,7 +10244,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10194
10244
  xi = Math.cos(theta + dTheta) * rx + cx;
10195
10245
  yi = Math.sin(theta + dTheta) * ry + cy;
10196
10246
  break;
10197
- case CMD$2.R:
10247
+ case CMD$1.R:
10198
10248
  x0 = xi = data[i++];
10199
10249
  y0 = yi = data[i++];
10200
10250
  var width = data[i++];
@@ -10214,7 +10264,7 @@ function containPath(path, lineWidth, isStroke, x, y) {
10214
10264
  w += windingLine(x0, y1, x0, y0, x, y);
10215
10265
  }
10216
10266
  break;
10217
- case CMD$2.Z:
10267
+ case CMD$1.Z:
10218
10268
  if (isStroke) {
10219
10269
  if (containStroke$4(xi, yi, x0, y0, lineWidth, x, y)) {
10220
10270
  return true;
@@ -11597,6 +11647,25 @@ function traverseUpdateState(el, updater, commonParam) {
11597
11647
  });
11598
11648
  }
11599
11649
 
11650
+ function setStatesFlag(el, stateName) {
11651
+ switch (stateName) {
11652
+ case 'emphasis':
11653
+ el.hoverState = HOVER_STATE_EMPHASIS;
11654
+ break;
11655
+
11656
+ case 'normal':
11657
+ el.hoverState = HOVER_STATE_NORMAL;
11658
+ break;
11659
+
11660
+ case 'blur':
11661
+ el.hoverState = HOVER_STATE_BLUR;
11662
+ break;
11663
+
11664
+ case 'select':
11665
+ el.selected = true;
11666
+ }
11667
+ }
11668
+
11600
11669
  function getFromStateStyle(el, props, toStateName, defaultValue) {
11601
11670
  var style = el.style;
11602
11671
  var fromState = {};
@@ -12206,7 +12275,7 @@ function savePathStates(el) {
12206
12275
  store.selectStroke = selectState.style && selectState.style.stroke || null;
12207
12276
  }
12208
12277
 
12209
- var CMD$1 = PathProxy.CMD;
12278
+ var CMD = PathProxy.CMD;
12210
12279
  var points = [[], [], []];
12211
12280
  var mathSqrt$2 = Math.sqrt;
12212
12281
  var mathAtan2 = Math.atan2;
@@ -12222,12 +12291,12 @@ function transformPath(path, m) {
12222
12291
  var j;
12223
12292
  var k;
12224
12293
  var p;
12225
- var M = CMD$1.M;
12226
- var C = CMD$1.C;
12227
- var L = CMD$1.L;
12228
- var R = CMD$1.R;
12229
- var A = CMD$1.A;
12230
- var Q = CMD$1.Q;
12294
+ var M = CMD.M;
12295
+ var C = CMD.C;
12296
+ var L = CMD.L;
12297
+ var R = CMD.R;
12298
+ var A = CMD.A;
12299
+ var Q = CMD.Q;
12231
12300
  for (i = 0, j = 0; i < len;) {
12232
12301
  cmd = data[i++];
12233
12302
  j = i;
@@ -12625,6 +12694,31 @@ function mergePath$1(pathEls, opts) {
12625
12694
  };
12626
12695
  return pathBundle;
12627
12696
  }
12697
+ function clonePath(sourcePath, opts) {
12698
+ opts = opts || {};
12699
+ var path = new Path();
12700
+ if (sourcePath.shape) {
12701
+ path.setShape(sourcePath.shape);
12702
+ }
12703
+ path.setStyle(sourcePath.style);
12704
+ if (opts.bakeTransform) {
12705
+ transformPath(path.path, sourcePath.getComputedTransform());
12706
+ }
12707
+ else {
12708
+ if (opts.toLocal) {
12709
+ path.setLocalTransform(sourcePath.getComputedTransform());
12710
+ }
12711
+ else {
12712
+ path.copyTransform(sourcePath);
12713
+ }
12714
+ }
12715
+ path.buildPath = sourcePath.buildPath;
12716
+ path.applyTransform = path.applyTransform;
12717
+ path.z = sourcePath.z;
12718
+ path.z2 = sourcePath.z2;
12719
+ path.zlevel = sourcePath.zlevel;
12720
+ return path;
12721
+ }
12628
12722
 
12629
12723
  var CircleShape = (function () {
12630
12724
  function CircleShape() {
@@ -12687,7 +12781,7 @@ var Ellipse = (function (_super) {
12687
12781
  Ellipse.prototype.type = 'ellipse';
12688
12782
 
12689
12783
  var PI$2 = Math.PI;
12690
- var PI2$1 = PI$2 * 2;
12784
+ var PI2 = PI$2 * 2;
12691
12785
  var mathSin = Math.sin;
12692
12786
  var mathCos = Math.cos;
12693
12787
  var mathACos = Math.acos;
@@ -12798,12 +12892,12 @@ function buildPath$1(ctx, shape) {
12798
12892
  var cx = shape.cx, cy = shape.cy;
12799
12893
  var clockwise = !!shape.clockwise;
12800
12894
  var arc = mathAbs(endAngle - startAngle);
12801
- var mod = arc > PI2$1 && arc % PI2$1;
12895
+ var mod = arc > PI2 && arc % PI2;
12802
12896
  mod > e && (arc = mod);
12803
12897
  if (!(radius > e)) {
12804
12898
  ctx.moveTo(cx, cy);
12805
12899
  }
12806
- else if (arc > PI2$1 - e) {
12900
+ else if (arc > PI2 - e) {
12807
12901
  ctx.moveTo(cx + radius * mathCos(startAngle), cy + radius * mathSin(startAngle));
12808
12902
  ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);
12809
12903
  if (innerRadius > e) {
@@ -13849,6 +13943,9 @@ function removeElementWithFadeOut(el, animatableModel, dataIndex) {
13849
13943
  function saveOldStyle(el) {
13850
13944
  transitionStore(el).oldStyle = el.style;
13851
13945
  }
13946
+ function getOldStyle(el) {
13947
+ return transitionStore(el).oldStyle;
13948
+ }
13852
13949
 
13853
13950
  var mathMax = Math.max;
13854
13951
  var mathMin = Math.min;
@@ -25302,6 +25399,13 @@ keepAspect) {
25302
25399
 
25303
25400
  return symbolPath;
25304
25401
  }
25402
+ function normalizeSymbolSize(symbolSize) {
25403
+ if (!isArray(symbolSize)) {
25404
+ symbolSize = [+symbolSize, +symbolSize];
25405
+ }
25406
+
25407
+ return [symbolSize[0] || 0, symbolSize[1] || 0];
25408
+ }
25305
25409
  function normalizeSymbolOffset(symbolOffset, symbolSize) {
25306
25410
  if (symbolOffset == null) {
25307
25411
  return;
@@ -33407,583 +33511,6 @@ function use(ext) {
33407
33511
  ext.install(extensionRegisters);
33408
33512
  }
33409
33513
 
33410
- var PI2 = Math.PI * 2;
33411
- var CMD = PathProxy.CMD;
33412
- var DEFAULT_SEARCH_SPACE = ['top', 'right', 'bottom', 'left'];
33413
-
33414
- function getCandidateAnchor(pos, distance, rect, outPt, outDir) {
33415
- var width = rect.width;
33416
- var height = rect.height;
33417
-
33418
- switch (pos) {
33419
- case 'top':
33420
- outPt.set(rect.x + width / 2, rect.y - distance);
33421
- outDir.set(0, -1);
33422
- break;
33423
-
33424
- case 'bottom':
33425
- outPt.set(rect.x + width / 2, rect.y + height + distance);
33426
- outDir.set(0, 1);
33427
- break;
33428
-
33429
- case 'left':
33430
- outPt.set(rect.x - distance, rect.y + height / 2);
33431
- outDir.set(-1, 0);
33432
- break;
33433
-
33434
- case 'right':
33435
- outPt.set(rect.x + width + distance, rect.y + height / 2);
33436
- outDir.set(1, 0);
33437
- break;
33438
- }
33439
- }
33440
-
33441
- function projectPointToArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y, out) {
33442
- x -= cx;
33443
- y -= cy;
33444
- var d = Math.sqrt(x * x + y * y);
33445
- x /= d;
33446
- y /= d; // Intersect point.
33447
-
33448
- var ox = x * r + cx;
33449
- var oy = y * r + cy;
33450
-
33451
- if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {
33452
- // Is a circle
33453
- out[0] = ox;
33454
- out[1] = oy;
33455
- return d - r;
33456
- }
33457
-
33458
- if (anticlockwise) {
33459
- var tmp = startAngle;
33460
- startAngle = normalizeRadian(endAngle);
33461
- endAngle = normalizeRadian(tmp);
33462
- } else {
33463
- startAngle = normalizeRadian(startAngle);
33464
- endAngle = normalizeRadian(endAngle);
33465
- }
33466
-
33467
- if (startAngle > endAngle) {
33468
- endAngle += PI2;
33469
- }
33470
-
33471
- var angle = Math.atan2(y, x);
33472
-
33473
- if (angle < 0) {
33474
- angle += PI2;
33475
- }
33476
-
33477
- if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {
33478
- // Project point is on the arc.
33479
- out[0] = ox;
33480
- out[1] = oy;
33481
- return d - r;
33482
- }
33483
-
33484
- var x1 = r * Math.cos(startAngle) + cx;
33485
- var y1 = r * Math.sin(startAngle) + cy;
33486
- var x2 = r * Math.cos(endAngle) + cx;
33487
- var y2 = r * Math.sin(endAngle) + cy;
33488
- var d1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);
33489
- var d2 = (x2 - x) * (x2 - x) + (y2 - y) * (y2 - y);
33490
-
33491
- if (d1 < d2) {
33492
- out[0] = x1;
33493
- out[1] = y1;
33494
- return Math.sqrt(d1);
33495
- } else {
33496
- out[0] = x2;
33497
- out[1] = y2;
33498
- return Math.sqrt(d2);
33499
- }
33500
- }
33501
-
33502
- function projectPointToLine(x1, y1, x2, y2, x, y, out, limitToEnds) {
33503
- var dx = x - x1;
33504
- var dy = y - y1;
33505
- var dx1 = x2 - x1;
33506
- var dy1 = y2 - y1;
33507
- var lineLen = Math.sqrt(dx1 * dx1 + dy1 * dy1);
33508
- dx1 /= lineLen;
33509
- dy1 /= lineLen; // dot product
33510
-
33511
- var projectedLen = dx * dx1 + dy * dy1;
33512
- var t = projectedLen / lineLen;
33513
-
33514
- if (limitToEnds) {
33515
- t = Math.min(Math.max(t, 0), 1);
33516
- }
33517
-
33518
- t *= lineLen;
33519
- var ox = out[0] = x1 + t * dx1;
33520
- var oy = out[1] = y1 + t * dy1;
33521
- return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));
33522
- }
33523
-
33524
- function projectPointToRect(x1, y1, width, height, x, y, out) {
33525
- if (width < 0) {
33526
- x1 = x1 + width;
33527
- width = -width;
33528
- }
33529
-
33530
- if (height < 0) {
33531
- y1 = y1 + height;
33532
- height = -height;
33533
- }
33534
-
33535
- var x2 = x1 + width;
33536
- var y2 = y1 + height;
33537
- var ox = out[0] = Math.min(Math.max(x, x1), x2);
33538
- var oy = out[1] = Math.min(Math.max(y, y1), y2);
33539
- return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));
33540
- }
33541
-
33542
- var tmpPt = [];
33543
-
33544
- function nearestPointOnRect(pt, rect, out) {
33545
- var dist = projectPointToRect(rect.x, rect.y, rect.width, rect.height, pt.x, pt.y, tmpPt);
33546
- out.set(tmpPt[0], tmpPt[1]);
33547
- return dist;
33548
- }
33549
- /**
33550
- * Calculate min distance corresponding point.
33551
- * This method won't evaluate if point is in the path.
33552
- */
33553
-
33554
-
33555
- function nearestPointOnPath(pt, path, out) {
33556
- var xi = 0;
33557
- var yi = 0;
33558
- var x0 = 0;
33559
- var y0 = 0;
33560
- var x1;
33561
- var y1;
33562
- var minDist = Infinity;
33563
- var data = path.data;
33564
- var x = pt.x;
33565
- var y = pt.y;
33566
-
33567
- for (var i = 0; i < data.length;) {
33568
- var cmd = data[i++];
33569
-
33570
- if (i === 1) {
33571
- xi = data[i];
33572
- yi = data[i + 1];
33573
- x0 = xi;
33574
- y0 = yi;
33575
- }
33576
-
33577
- var d = minDist;
33578
-
33579
- switch (cmd) {
33580
- case CMD.M:
33581
- // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点
33582
- // 在 closePath 的时候使用
33583
- x0 = data[i++];
33584
- y0 = data[i++];
33585
- xi = x0;
33586
- yi = y0;
33587
- break;
33588
-
33589
- case CMD.L:
33590
- d = projectPointToLine(xi, yi, data[i], data[i + 1], x, y, tmpPt, true);
33591
- xi = data[i++];
33592
- yi = data[i++];
33593
- break;
33594
-
33595
- case CMD.C:
33596
- d = cubicProjectPoint(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);
33597
- xi = data[i++];
33598
- yi = data[i++];
33599
- break;
33600
-
33601
- case CMD.Q:
33602
- d = quadraticProjectPoint(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);
33603
- xi = data[i++];
33604
- yi = data[i++];
33605
- break;
33606
-
33607
- case CMD.A:
33608
- // TODO Arc 判断的开销比较大
33609
- var cx = data[i++];
33610
- var cy = data[i++];
33611
- var rx = data[i++];
33612
- var ry = data[i++];
33613
- var theta = data[i++];
33614
- var dTheta = data[i++]; // TODO Arc 旋转
33615
-
33616
- i += 1;
33617
- var anticlockwise = !!(1 - data[i++]);
33618
- x1 = Math.cos(theta) * rx + cx;
33619
- y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令
33620
-
33621
- if (i <= 1) {
33622
- // 第一个命令起点还未定义
33623
- x0 = x1;
33624
- y0 = y1;
33625
- } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放
33626
-
33627
-
33628
- var _x = (x - cx) * ry / rx + cx;
33629
-
33630
- d = projectPointToArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y, tmpPt);
33631
- xi = Math.cos(theta + dTheta) * rx + cx;
33632
- yi = Math.sin(theta + dTheta) * ry + cy;
33633
- break;
33634
-
33635
- case CMD.R:
33636
- x0 = xi = data[i++];
33637
- y0 = yi = data[i++];
33638
- var width = data[i++];
33639
- var height = data[i++];
33640
- d = projectPointToRect(x0, y0, width, height, x, y, tmpPt);
33641
- break;
33642
-
33643
- case CMD.Z:
33644
- d = projectPointToLine(xi, yi, x0, y0, x, y, tmpPt, true);
33645
- xi = x0;
33646
- yi = y0;
33647
- break;
33648
- }
33649
-
33650
- if (d < minDist) {
33651
- minDist = d;
33652
- out.set(tmpPt[0], tmpPt[1]);
33653
- }
33654
- }
33655
-
33656
- return minDist;
33657
- } // Temporal variable for intermediate usage.
33658
-
33659
-
33660
- var pt0 = new Point();
33661
- var pt1 = new Point();
33662
- var pt2 = new Point();
33663
- var dir = new Point();
33664
- var dir2 = new Point();
33665
- /**
33666
- * Calculate a proper guide line based on the label position and graphic element definition
33667
- * @param label
33668
- * @param labelRect
33669
- * @param target
33670
- * @param targetRect
33671
- */
33672
-
33673
- function updateLabelLinePoints(target, labelLineModel) {
33674
- if (!target) {
33675
- return;
33676
- }
33677
-
33678
- var labelLine = target.getTextGuideLine();
33679
- var label = target.getTextContent(); // Needs to create text guide in each charts.
33680
-
33681
- if (!(label && labelLine)) {
33682
- return;
33683
- }
33684
-
33685
- var labelGuideConfig = target.textGuideLineConfig || {};
33686
- var points = [[0, 0], [0, 0], [0, 0]];
33687
- var searchSpace = labelGuideConfig.candidates || DEFAULT_SEARCH_SPACE;
33688
- var labelRect = label.getBoundingRect().clone();
33689
- labelRect.applyTransform(label.getComputedTransform());
33690
- var minDist = Infinity;
33691
- var anchorPoint = labelGuideConfig.anchor;
33692
- var targetTransform = target.getComputedTransform();
33693
- var targetInversedTransform = targetTransform && invert([], targetTransform);
33694
- var len = labelLineModel.get('length2') || 0;
33695
-
33696
- if (anchorPoint) {
33697
- pt2.copy(anchorPoint);
33698
- }
33699
-
33700
- for (var i = 0; i < searchSpace.length; i++) {
33701
- var candidate = searchSpace[i];
33702
- getCandidateAnchor(candidate, 0, labelRect, pt0, dir);
33703
- Point.scaleAndAdd(pt1, pt0, dir, len); // Transform to target coord space.
33704
-
33705
- pt1.transform(targetInversedTransform); // Note: getBoundingRect will ensure the `path` being created.
33706
-
33707
- var boundingRect = target.getBoundingRect();
33708
- var dist = anchorPoint ? anchorPoint.distance(pt1) : target instanceof Path ? nearestPointOnPath(pt1, target.path, pt2) : nearestPointOnRect(pt1, boundingRect, pt2); // TODO pt2 is in the path
33709
-
33710
- if (dist < minDist) {
33711
- minDist = dist; // Transform back to global space.
33712
-
33713
- pt1.transform(targetTransform);
33714
- pt2.transform(targetTransform);
33715
- pt2.toArray(points[0]);
33716
- pt1.toArray(points[1]);
33717
- pt0.toArray(points[2]);
33718
- }
33719
- }
33720
-
33721
- limitTurnAngle(points, labelLineModel.get('minTurnAngle'));
33722
- labelLine.setShape({
33723
- points: points
33724
- });
33725
- } // Temporal variable for the limitTurnAngle function
33726
-
33727
- var tmpArr = [];
33728
- var tmpProjPoint = new Point();
33729
- /**
33730
- * Reduce the line segment attached to the label to limit the turn angle between two segments.
33731
- * @param linePoints
33732
- * @param minTurnAngle Radian of minimum turn angle. 0 - 180
33733
- */
33734
-
33735
- function limitTurnAngle(linePoints, minTurnAngle) {
33736
- if (!(minTurnAngle <= 180 && minTurnAngle > 0)) {
33737
- return;
33738
- }
33739
-
33740
- minTurnAngle = minTurnAngle / 180 * Math.PI; // The line points can be
33741
- // /pt1----pt2 (label)
33742
- // /
33743
- // pt0/
33744
-
33745
- pt0.fromArray(linePoints[0]);
33746
- pt1.fromArray(linePoints[1]);
33747
- pt2.fromArray(linePoints[2]);
33748
- Point.sub(dir, pt0, pt1);
33749
- Point.sub(dir2, pt2, pt1);
33750
- var len1 = dir.len();
33751
- var len2 = dir2.len();
33752
-
33753
- if (len1 < 1e-3 || len2 < 1e-3) {
33754
- return;
33755
- }
33756
-
33757
- dir.scale(1 / len1);
33758
- dir2.scale(1 / len2);
33759
- var angleCos = dir.dot(dir2);
33760
- var minTurnAngleCos = Math.cos(minTurnAngle);
33761
-
33762
- if (minTurnAngleCos < angleCos) {
33763
- // Smaller than minTurnAngle
33764
- // Calculate project point of pt0 on pt1-pt2
33765
- var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
33766
- tmpProjPoint.fromArray(tmpArr); // Calculate new projected length with limited minTurnAngle and get the new connect point
33767
-
33768
- tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI - minTurnAngle)); // Limit the new calculated connect point between pt1 and pt2.
33769
-
33770
- var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
33771
-
33772
- if (isNaN(t)) {
33773
- return;
33774
- }
33775
-
33776
- if (t < 0) {
33777
- Point.copy(tmpProjPoint, pt1);
33778
- } else if (t > 1) {
33779
- Point.copy(tmpProjPoint, pt2);
33780
- }
33781
-
33782
- tmpProjPoint.toArray(linePoints[1]);
33783
- }
33784
- }
33785
- /**
33786
- * Limit the angle of line and the surface
33787
- * @param maxSurfaceAngle Radian of minimum turn angle. 0 - 180. 0 is same direction to normal. 180 is opposite
33788
- */
33789
-
33790
- function limitSurfaceAngle(linePoints, surfaceNormal, maxSurfaceAngle) {
33791
- if (!(maxSurfaceAngle <= 180 && maxSurfaceAngle > 0)) {
33792
- return;
33793
- }
33794
-
33795
- maxSurfaceAngle = maxSurfaceAngle / 180 * Math.PI;
33796
- pt0.fromArray(linePoints[0]);
33797
- pt1.fromArray(linePoints[1]);
33798
- pt2.fromArray(linePoints[2]);
33799
- Point.sub(dir, pt1, pt0);
33800
- Point.sub(dir2, pt2, pt1);
33801
- var len1 = dir.len();
33802
- var len2 = dir2.len();
33803
-
33804
- if (len1 < 1e-3 || len2 < 1e-3) {
33805
- return;
33806
- }
33807
-
33808
- dir.scale(1 / len1);
33809
- dir2.scale(1 / len2);
33810
- var angleCos = dir.dot(surfaceNormal);
33811
- var maxSurfaceAngleCos = Math.cos(maxSurfaceAngle);
33812
-
33813
- if (angleCos < maxSurfaceAngleCos) {
33814
- // Calculate project point of pt0 on pt1-pt2
33815
- var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);
33816
- tmpProjPoint.fromArray(tmpArr);
33817
- var HALF_PI = Math.PI / 2;
33818
- var angle2 = Math.acos(dir2.dot(surfaceNormal));
33819
- var newAngle = HALF_PI + angle2 - maxSurfaceAngle;
33820
-
33821
- if (newAngle >= HALF_PI) {
33822
- // parallel
33823
- Point.copy(tmpProjPoint, pt2);
33824
- } else {
33825
- // Calculate new projected length with limited minTurnAngle and get the new connect point
33826
- tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI / 2 - newAngle)); // Limit the new calculated connect point between pt1 and pt2.
33827
-
33828
- var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);
33829
-
33830
- if (isNaN(t)) {
33831
- return;
33832
- }
33833
-
33834
- if (t < 0) {
33835
- Point.copy(tmpProjPoint, pt1);
33836
- } else if (t > 1) {
33837
- Point.copy(tmpProjPoint, pt2);
33838
- }
33839
- }
33840
-
33841
- tmpProjPoint.toArray(linePoints[1]);
33842
- }
33843
- }
33844
-
33845
- function setLabelLineState(labelLine, ignore, stateName, stateModel) {
33846
- var isNormal = stateName === 'normal';
33847
- var stateObj = isNormal ? labelLine : labelLine.ensureState(stateName); // Make sure display.
33848
-
33849
- stateObj.ignore = ignore; // Set smooth
33850
-
33851
- var smooth = stateModel.get('smooth');
33852
-
33853
- if (smooth && smooth === true) {
33854
- smooth = 0.3;
33855
- }
33856
-
33857
- stateObj.shape = stateObj.shape || {};
33858
-
33859
- if (smooth > 0) {
33860
- stateObj.shape.smooth = smooth;
33861
- }
33862
-
33863
- var styleObj = stateModel.getModel('lineStyle').getLineStyle();
33864
- isNormal ? labelLine.useStyle(styleObj) : stateObj.style = styleObj;
33865
- }
33866
-
33867
- function buildLabelLinePath(path, shape) {
33868
- var smooth = shape.smooth;
33869
- var points = shape.points;
33870
-
33871
- if (!points) {
33872
- return;
33873
- }
33874
-
33875
- path.moveTo(points[0][0], points[0][1]);
33876
-
33877
- if (smooth > 0 && points.length >= 3) {
33878
- var len1 = dist$1(points[0], points[1]);
33879
- var len2 = dist$1(points[1], points[2]);
33880
-
33881
- if (!len1 || !len2) {
33882
- path.lineTo(points[1][0], points[1][1]);
33883
- path.lineTo(points[2][0], points[2][1]);
33884
- return;
33885
- }
33886
-
33887
- var moveLen = Math.min(len1, len2) * smooth;
33888
- var midPoint0 = lerp([], points[1], points[0], moveLen / len1);
33889
- var midPoint2 = lerp([], points[1], points[2], moveLen / len2);
33890
- var midPoint1 = lerp([], midPoint0, midPoint2, 0.5);
33891
- path.bezierCurveTo(midPoint0[0], midPoint0[1], midPoint0[0], midPoint0[1], midPoint1[0], midPoint1[1]);
33892
- path.bezierCurveTo(midPoint2[0], midPoint2[1], midPoint2[0], midPoint2[1], points[2][0], points[2][1]);
33893
- } else {
33894
- for (var i = 1; i < points.length; i++) {
33895
- path.lineTo(points[i][0], points[i][1]);
33896
- }
33897
- }
33898
- }
33899
- /**
33900
- * Create a label line if necessary and set it's style.
33901
- */
33902
-
33903
-
33904
- function setLabelLineStyle(targetEl, statesModels, defaultStyle) {
33905
- var labelLine = targetEl.getTextGuideLine();
33906
- var label = targetEl.getTextContent();
33907
-
33908
- if (!label) {
33909
- // Not show label line if there is no label.
33910
- if (labelLine) {
33911
- targetEl.removeTextGuideLine();
33912
- }
33913
-
33914
- return;
33915
- }
33916
-
33917
- var normalModel = statesModels.normal;
33918
- var showNormal = normalModel.get('show');
33919
- var labelIgnoreNormal = label.ignore;
33920
-
33921
- for (var i = 0; i < DISPLAY_STATES.length; i++) {
33922
- var stateName = DISPLAY_STATES[i];
33923
- var stateModel = statesModels[stateName];
33924
- var isNormal = stateName === 'normal';
33925
-
33926
- if (stateModel) {
33927
- var stateShow = stateModel.get('show');
33928
- var isLabelIgnored = isNormal ? labelIgnoreNormal : retrieve2(label.states[stateName] && label.states[stateName].ignore, labelIgnoreNormal);
33929
-
33930
- if (isLabelIgnored // Not show when label is not shown in this state.
33931
- || !retrieve2(stateShow, showNormal) // Use normal state by default if not set.
33932
- ) {
33933
- var stateObj = isNormal ? labelLine : labelLine && labelLine.states[stateName];
33934
-
33935
- if (stateObj) {
33936
- stateObj.ignore = true;
33937
- }
33938
-
33939
- continue;
33940
- } // Create labelLine if not exists
33941
-
33942
-
33943
- if (!labelLine) {
33944
- labelLine = new Polyline();
33945
- targetEl.setTextGuideLine(labelLine); // Reset state of normal because it's new created.
33946
- // NOTE: NORMAL should always been the first!
33947
-
33948
- if (!isNormal && (labelIgnoreNormal || !showNormal)) {
33949
- setLabelLineState(labelLine, true, 'normal', statesModels.normal);
33950
- } // Use same state proxy.
33951
-
33952
-
33953
- if (targetEl.stateProxy) {
33954
- labelLine.stateProxy = targetEl.stateProxy;
33955
- }
33956
- }
33957
-
33958
- setLabelLineState(labelLine, false, stateName, stateModel);
33959
- }
33960
- }
33961
-
33962
- if (labelLine) {
33963
- defaults(labelLine.style, defaultStyle); // Not fill.
33964
-
33965
- labelLine.style.fill = null;
33966
- var showAbove = normalModel.get('showAbove');
33967
- var labelLineConfig = targetEl.textGuideLineConfig = targetEl.textGuideLineConfig || {};
33968
- labelLineConfig.showAbove = showAbove || false; // Custom the buildPath.
33969
-
33970
- labelLine.buildPath = buildLabelLinePath;
33971
- }
33972
- }
33973
- function getLabelLineStatesModels(itemModel, labelLineName) {
33974
- labelLineName = labelLineName || 'labelLine';
33975
- var statesModels = {
33976
- normal: itemModel.getModel(labelLineName)
33977
- };
33978
-
33979
- for (var i = 0; i < SPECIAL_STATES.length; i++) {
33980
- var stateName = SPECIAL_STATES[i];
33981
- statesModels[stateName] = itemModel.getModel([stateName, labelLineName]);
33982
- }
33983
-
33984
- return statesModels;
33985
- }
33986
-
33987
33514
  function prepareLayoutList(input) {
33988
33515
  var list = [];
33989
33516
 
@@ -34282,468 +33809,6 @@ function hideOverlap(labelList) {
34282
33809
  }
34283
33810
  }
34284
33811
 
34285
- function cloneArr(points) {
34286
- if (points) {
34287
- var newPoints = [];
34288
-
34289
- for (var i = 0; i < points.length; i++) {
34290
- newPoints.push(points[i].slice());
34291
- }
34292
-
34293
- return newPoints;
34294
- }
34295
- }
34296
-
34297
- function prepareLayoutCallbackParams(labelItem, hostEl) {
34298
- var label = labelItem.label;
34299
- var labelLine = hostEl && hostEl.getTextGuideLine();
34300
- return {
34301
- dataIndex: labelItem.dataIndex,
34302
- dataType: labelItem.dataType,
34303
- seriesIndex: labelItem.seriesModel.seriesIndex,
34304
- text: labelItem.label.style.text,
34305
- rect: labelItem.hostRect,
34306
- labelRect: labelItem.rect,
34307
- // x: labelAttr.x,
34308
- // y: labelAttr.y,
34309
- align: label.style.align,
34310
- verticalAlign: label.style.verticalAlign,
34311
- labelLinePoints: cloneArr(labelLine && labelLine.shape.points)
34312
- };
34313
- }
34314
-
34315
- var LABEL_OPTION_TO_STYLE_KEYS = ['align', 'verticalAlign', 'width', 'height', 'fontSize'];
34316
- var dummyTransformable = new Transformable();
34317
- var labelLayoutInnerStore = makeInner();
34318
- var labelLineAnimationStore = makeInner();
34319
-
34320
- function extendWithKeys(target, source, keys) {
34321
- for (var i = 0; i < keys.length; i++) {
34322
- var key = keys[i];
34323
-
34324
- if (source[key] != null) {
34325
- target[key] = source[key];
34326
- }
34327
- }
34328
- }
34329
-
34330
- var LABEL_LAYOUT_PROPS = ['x', 'y', 'rotation'];
34331
-
34332
- var LabelManager =
34333
- /** @class */
34334
- function () {
34335
- function LabelManager() {
34336
- this._labelList = [];
34337
- this._chartViewList = [];
34338
- }
34339
-
34340
- LabelManager.prototype.clearLabels = function () {
34341
- this._labelList = [];
34342
- this._chartViewList = [];
34343
- };
34344
- /**
34345
- * Add label to manager
34346
- */
34347
-
34348
-
34349
- LabelManager.prototype._addLabel = function (dataIndex, dataType, seriesModel, label, layoutOption) {
34350
- var labelStyle = label.style;
34351
- var hostEl = label.__hostTarget;
34352
- var textConfig = hostEl.textConfig || {}; // TODO: If label is in other state.
34353
-
34354
- var labelTransform = label.getComputedTransform();
34355
- var labelRect = label.getBoundingRect().plain();
34356
- BoundingRect.applyTransform(labelRect, labelRect, labelTransform);
34357
-
34358
- if (labelTransform) {
34359
- dummyTransformable.setLocalTransform(labelTransform);
34360
- } else {
34361
- // Identity transform.
34362
- dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;
34363
- dummyTransformable.scaleX = dummyTransformable.scaleY = 1;
34364
- }
34365
-
34366
- var host = label.__hostTarget;
34367
- var hostRect;
34368
-
34369
- if (host) {
34370
- hostRect = host.getBoundingRect().plain();
34371
- var transform = host.getComputedTransform();
34372
- BoundingRect.applyTransform(hostRect, hostRect, transform);
34373
- }
34374
-
34375
- var labelGuide = hostRect && host.getTextGuideLine();
34376
-
34377
- this._labelList.push({
34378
- label: label,
34379
- labelLine: labelGuide,
34380
- seriesModel: seriesModel,
34381
- dataIndex: dataIndex,
34382
- dataType: dataType,
34383
- layoutOption: layoutOption,
34384
- computedLayoutOption: null,
34385
- rect: labelRect,
34386
- hostRect: hostRect,
34387
- // Label with lower priority will be hidden when overlapped
34388
- // Use rect size as default priority
34389
- priority: hostRect ? hostRect.width * hostRect.height : 0,
34390
- // Save default label attributes.
34391
- // For restore if developers want get back to default value in callback.
34392
- defaultAttr: {
34393
- ignore: label.ignore,
34394
- labelGuideIgnore: labelGuide && labelGuide.ignore,
34395
- x: dummyTransformable.x,
34396
- y: dummyTransformable.y,
34397
- scaleX: dummyTransformable.scaleX,
34398
- scaleY: dummyTransformable.scaleY,
34399
- rotation: dummyTransformable.rotation,
34400
- style: {
34401
- x: labelStyle.x,
34402
- y: labelStyle.y,
34403
- align: labelStyle.align,
34404
- verticalAlign: labelStyle.verticalAlign,
34405
- width: labelStyle.width,
34406
- height: labelStyle.height,
34407
- fontSize: labelStyle.fontSize
34408
- },
34409
- cursor: label.cursor,
34410
- attachedPos: textConfig.position,
34411
- attachedRot: textConfig.rotation
34412
- }
34413
- });
34414
- };
34415
-
34416
- LabelManager.prototype.addLabelsOfSeries = function (chartView) {
34417
- var _this = this;
34418
-
34419
- this._chartViewList.push(chartView);
34420
-
34421
- var seriesModel = chartView.__model;
34422
- var layoutOption = seriesModel.get('labelLayout');
34423
- /**
34424
- * Ignore layouting if it's not specified anything.
34425
- */
34426
-
34427
- if (!(isFunction(layoutOption) || keys(layoutOption).length)) {
34428
- return;
34429
- }
34430
-
34431
- chartView.group.traverse(function (child) {
34432
- if (child.ignore) {
34433
- return true; // Stop traverse descendants.
34434
- } // Only support label being hosted on graphic elements.
34435
-
34436
-
34437
- var textEl = child.getTextContent();
34438
- var ecData = getECData(child); // Can only attach the text on the element with dataIndex
34439
-
34440
- if (textEl && !textEl.disableLabelLayout) {
34441
- _this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);
34442
- }
34443
- });
34444
- };
34445
-
34446
- LabelManager.prototype.updateLayoutConfig = function (api) {
34447
- var width = api.getWidth();
34448
- var height = api.getHeight();
34449
-
34450
- function createDragHandler(el, labelLineModel) {
34451
- return function () {
34452
- updateLabelLinePoints(el, labelLineModel);
34453
- };
34454
- }
34455
-
34456
- for (var i = 0; i < this._labelList.length; i++) {
34457
- var labelItem = this._labelList[i];
34458
- var label = labelItem.label;
34459
- var hostEl = label.__hostTarget;
34460
- var defaultLabelAttr = labelItem.defaultAttr;
34461
- var layoutOption = void 0; // TODO A global layout option?
34462
-
34463
- if (isFunction(labelItem.layoutOption)) {
34464
- layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));
34465
- } else {
34466
- layoutOption = labelItem.layoutOption;
34467
- }
34468
-
34469
- layoutOption = layoutOption || {};
34470
- labelItem.computedLayoutOption = layoutOption;
34471
- var degreeToRadian = Math.PI / 180; // TODO hostEl should always exists.
34472
- // Or label should not have parent because the x, y is all in global space.
34473
-
34474
- if (hostEl) {
34475
- hostEl.setTextConfig({
34476
- // Force to set local false.
34477
- local: false,
34478
- // Ignore position and rotation config on the host el if x or y is changed.
34479
- position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,
34480
- // Ignore rotation config on the host el if rotation is changed.
34481
- rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,
34482
- offset: [layoutOption.dx || 0, layoutOption.dy || 0]
34483
- });
34484
- }
34485
-
34486
- var needsUpdateLabelLine = false;
34487
-
34488
- if (layoutOption.x != null) {
34489
- // TODO width of chart view.
34490
- label.x = parsePercent(layoutOption.x, width);
34491
- label.setStyle('x', 0); // Ignore movement in style. TODO: origin.
34492
-
34493
- needsUpdateLabelLine = true;
34494
- } else {
34495
- label.x = defaultLabelAttr.x;
34496
- label.setStyle('x', defaultLabelAttr.style.x);
34497
- }
34498
-
34499
- if (layoutOption.y != null) {
34500
- // TODO height of chart view.
34501
- label.y = parsePercent(layoutOption.y, height);
34502
- label.setStyle('y', 0); // Ignore movement in style.
34503
-
34504
- needsUpdateLabelLine = true;
34505
- } else {
34506
- label.y = defaultLabelAttr.y;
34507
- label.setStyle('y', defaultLabelAttr.style.y);
34508
- }
34509
-
34510
- if (layoutOption.labelLinePoints) {
34511
- var guideLine = hostEl.getTextGuideLine();
34512
-
34513
- if (guideLine) {
34514
- guideLine.setShape({
34515
- points: layoutOption.labelLinePoints
34516
- }); // Not update
34517
-
34518
- needsUpdateLabelLine = false;
34519
- }
34520
- }
34521
-
34522
- var labelLayoutStore = labelLayoutInnerStore(label);
34523
- labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;
34524
- label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;
34525
- label.scaleX = defaultLabelAttr.scaleX;
34526
- label.scaleY = defaultLabelAttr.scaleY;
34527
-
34528
- for (var k = 0; k < LABEL_OPTION_TO_STYLE_KEYS.length; k++) {
34529
- var key = LABEL_OPTION_TO_STYLE_KEYS[k];
34530
- label.setStyle(key, layoutOption[key] != null ? layoutOption[key] : defaultLabelAttr.style[key]);
34531
- }
34532
-
34533
- if (layoutOption.draggable) {
34534
- label.draggable = true;
34535
- label.cursor = 'move';
34536
-
34537
- if (hostEl) {
34538
- var hostModel = labelItem.seriesModel;
34539
-
34540
- if (labelItem.dataIndex != null) {
34541
- var data = labelItem.seriesModel.getData(labelItem.dataType);
34542
- hostModel = data.getItemModel(labelItem.dataIndex);
34543
- }
34544
-
34545
- label.on('drag', createDragHandler(hostEl, hostModel.getModel('labelLine')));
34546
- }
34547
- } else {
34548
- // TODO Other drag functions?
34549
- label.off('drag');
34550
- label.cursor = defaultLabelAttr.cursor;
34551
- }
34552
- }
34553
- };
34554
-
34555
- LabelManager.prototype.layout = function (api) {
34556
- var width = api.getWidth();
34557
- var height = api.getHeight();
34558
- var labelList = prepareLayoutList(this._labelList);
34559
- var labelsNeedsAdjustOnX = filter(labelList, function (item) {
34560
- return item.layoutOption.moveOverlap === 'shiftX';
34561
- });
34562
- var labelsNeedsAdjustOnY = filter(labelList, function (item) {
34563
- return item.layoutOption.moveOverlap === 'shiftY';
34564
- });
34565
- shiftLayoutOnX(labelsNeedsAdjustOnX, 0, width);
34566
- shiftLayoutOnY(labelsNeedsAdjustOnY, 0, height);
34567
- var labelsNeedsHideOverlap = filter(labelList, function (item) {
34568
- return item.layoutOption.hideOverlap;
34569
- });
34570
- hideOverlap(labelsNeedsHideOverlap);
34571
- };
34572
- /**
34573
- * Process all labels. Not only labels with layoutOption.
34574
- */
34575
-
34576
-
34577
- LabelManager.prototype.processLabelsOverall = function () {
34578
- var _this = this;
34579
-
34580
- each$3(this._chartViewList, function (chartView) {
34581
- var seriesModel = chartView.__model;
34582
- var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;
34583
- var animationEnabled = seriesModel.isAnimationEnabled();
34584
- chartView.group.traverse(function (child) {
34585
- if (child.ignore && !child.forceLabelAnimation) {
34586
- return true; // Stop traverse descendants.
34587
- }
34588
-
34589
- var needsUpdateLabelLine = !ignoreLabelLineUpdate;
34590
- var label = child.getTextContent();
34591
-
34592
- if (!needsUpdateLabelLine && label) {
34593
- needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;
34594
- }
34595
-
34596
- if (needsUpdateLabelLine) {
34597
- _this._updateLabelLine(child, seriesModel);
34598
- }
34599
-
34600
- if (animationEnabled) {
34601
- _this._animateLabels(child, seriesModel);
34602
- }
34603
- });
34604
- });
34605
- };
34606
-
34607
- LabelManager.prototype._updateLabelLine = function (el, seriesModel) {
34608
- // Only support label being hosted on graphic elements.
34609
- var textEl = el.getTextContent(); // Update label line style.
34610
-
34611
- var ecData = getECData(el);
34612
- var dataIndex = ecData.dataIndex; // Only support labelLine on the labels represent data.
34613
-
34614
- if (textEl && dataIndex != null) {
34615
- var data = seriesModel.getData(ecData.dataType);
34616
- var itemModel = data.getItemModel(dataIndex);
34617
- var defaultStyle = {};
34618
- var visualStyle = data.getItemVisual(dataIndex, 'style');
34619
- var visualType = data.getVisual('drawType'); // Default to be same with main color
34620
-
34621
- defaultStyle.stroke = visualStyle[visualType];
34622
- var labelLineModel = itemModel.getModel('labelLine');
34623
- setLabelLineStyle(el, getLabelLineStatesModels(itemModel), defaultStyle);
34624
- updateLabelLinePoints(el, labelLineModel);
34625
- }
34626
- };
34627
-
34628
- LabelManager.prototype._animateLabels = function (el, seriesModel) {
34629
- var textEl = el.getTextContent();
34630
- var guideLine = el.getTextGuideLine(); // Animate
34631
-
34632
- if (textEl // `forceLabelAnimation` has the highest priority
34633
- && (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !isElementRemoved(el))) {
34634
- var layoutStore = labelLayoutInnerStore(textEl);
34635
- var oldLayout = layoutStore.oldLayout;
34636
- var ecData = getECData(el);
34637
- var dataIndex = ecData.dataIndex;
34638
- var newProps = {
34639
- x: textEl.x,
34640
- y: textEl.y,
34641
- rotation: textEl.rotation
34642
- };
34643
- var data = seriesModel.getData(ecData.dataType);
34644
-
34645
- if (!oldLayout) {
34646
- textEl.attr(newProps); // Disable fade in animation if value animation is enabled.
34647
-
34648
- if (!labelInner(textEl).valueAnimation) {
34649
- var oldOpacity = retrieve2(textEl.style.opacity, 1); // Fade in animation
34650
-
34651
- textEl.style.opacity = 0;
34652
- initProps(textEl, {
34653
- style: {
34654
- opacity: oldOpacity
34655
- }
34656
- }, seriesModel, dataIndex);
34657
- }
34658
- } else {
34659
- textEl.attr(oldLayout); // Make sure the animation from is in the right status.
34660
-
34661
- var prevStates = el.prevStates;
34662
-
34663
- if (prevStates) {
34664
- if (indexOf(prevStates, 'select') >= 0) {
34665
- textEl.attr(layoutStore.oldLayoutSelect);
34666
- }
34667
-
34668
- if (indexOf(prevStates, 'emphasis') >= 0) {
34669
- textEl.attr(layoutStore.oldLayoutEmphasis);
34670
- }
34671
- }
34672
-
34673
- updateProps$1(textEl, newProps, seriesModel, dataIndex);
34674
- }
34675
-
34676
- layoutStore.oldLayout = newProps;
34677
-
34678
- if (textEl.states.select) {
34679
- var layoutSelect = layoutStore.oldLayoutSelect = {};
34680
- extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);
34681
- extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);
34682
- }
34683
-
34684
- if (textEl.states.emphasis) {
34685
- var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};
34686
- extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);
34687
- extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);
34688
- }
34689
-
34690
- animateLabelValue(textEl, dataIndex, data, seriesModel, seriesModel);
34691
- }
34692
-
34693
- if (guideLine && !guideLine.ignore && !guideLine.invisible) {
34694
- var layoutStore = labelLineAnimationStore(guideLine);
34695
- var oldLayout = layoutStore.oldLayout;
34696
- var newLayout = {
34697
- points: guideLine.shape.points
34698
- };
34699
-
34700
- if (!oldLayout) {
34701
- guideLine.setShape(newLayout);
34702
- guideLine.style.strokePercent = 0;
34703
- initProps(guideLine, {
34704
- style: {
34705
- strokePercent: 1
34706
- }
34707
- }, seriesModel);
34708
- } else {
34709
- guideLine.attr({
34710
- shape: oldLayout
34711
- });
34712
- updateProps$1(guideLine, {
34713
- shape: newLayout
34714
- }, seriesModel);
34715
- }
34716
-
34717
- layoutStore.oldLayout = newLayout;
34718
- }
34719
- };
34720
-
34721
- return LabelManager;
34722
- }();
34723
-
34724
- var getLabelManager = makeInner();
34725
- function installLabelLayout(registers) {
34726
- registers.registerUpdateLifecycle('series:beforeupdate', function (ecModel, api, params) {
34727
- // TODO api provide an namespace that can save stuff per instance
34728
- var labelManager = getLabelManager(api).labelManager;
34729
-
34730
- if (!labelManager) {
34731
- labelManager = getLabelManager(api).labelManager = new LabelManager();
34732
- }
34733
-
34734
- labelManager.clearLabels();
34735
- });
34736
- registers.registerUpdateLifecycle('series:layoutlabels', function (ecModel, api, params) {
34737
- var labelManager = getLabelManager(api).labelManager;
34738
- params.updatedSeries.forEach(function (series) {
34739
- labelManager.addLabelsOfSeries(api.getViewOfSeriesModel(series));
34740
- });
34741
- labelManager.updateLayoutConfig(api);
34742
- labelManager.layout(api);
34743
- labelManager.processLabelsOverall();
34744
- });
34745
- }
34746
-
34747
33812
  /**
34748
33813
  * Can only be called after coordinate system creation stage.
34749
33814
  * (Can be called before coordinate system update stage).
@@ -38279,4 +37344,4 @@ function install(registers) {
38279
37344
  registers.registerPainter('canvas', CanvasPainter);
38280
37345
  }
38281
37346
 
38282
- export { Group as $, getLayoutParams as A, mergeLayoutParam as B, CoordinateSystemManager as C, fetchLayoutMode as D, filter as E, invert as F, BoundingRect as G, applyTransform$1 as H, getScaleExtent as I, increaseInterval as J, IntervalScale as K, getLayoutRect as L, estimateLabelUnionRect as M, isObject$2 as N, OrdinalMeta as O, indexOf as P, createScaleByModel as Q, isCartesian2DSeries as R, SINGLE_REFERRING as S, findAxisModels as T, getDataDimensionsOnAxis as U, ifAxisCrossZero as V, keys as W, isIntervalOrLogScale as X, niceScaleExtent as Y, Rect as Z, __extends$1 as _, createSourceFromSeriesDataOption as a, buildTooltipMarkup as a$, layout as a0, AxisBuilder as a1, extend as a2, groupTransition as a3, AxisView as a4, Line as a5, subPixelOptimizeLine as a6, ComponentView as a7, use as a8, install$2 as a9, createProgressiveLayout as aA, layout$1 as aB, init as aC, install$1 as aD, install as aE, installLabelLayout as aF, normalizeCssArray as aG, toCamelCase as aH, env as aI, normalizeEvent as aJ, convertToColorString as aK, isDom as aL, bind$1 as aM, getPaddingFromTooltipModel as aN, transformLocalCoord as aO, throwError as aP, getTooltipRenderMode as aQ, createOrUpdate as aR, clear as aS, register as aT, findPointFromSeries as aU, findEventDispatcher as aV, createTooltipMarkup as aW, getValueLabel as aX, trim as aY, getAxisRawValue as aZ, normalizeTooltipFormatResult as a_, retrieve2 as aa, ZRText as ab, createTextStyle as ac, windowOpen as ad, getECData as ae, retrieveRawValue as af, initProps as ag, Sector as ah, isString as ai, SeriesModel as aj, inheritDefaultOption as ak, Path as al, calculateTextPosition as am, isNumber as an, traverseElements as ao, updateProps$1 as ap, saveOldStyle as aq, labelInner as ar, removeElementWithFadeOut as as, ChartView as at, getLabelStatesModels as au, setLabelStyle as av, setLabelValueAnimation as aw, toggleHoverEmphasis as ax, setStatesStylesFromModel as ay, throttle as az, curry as b, clone$2 as b0, format as b1, formatTpl as b2, parsePercent as b3, unregister as b4, Model as b5, preParseFinder as b6, queryReferringComponents as b7, TooltipMarkupStyleCreator as b8, noop as b9, isNameSpecified as ba, parse as bb, stringify as bc, enableHoverEmphasis as bd, setTooltipConfig as be, box as bf, createOrUpdatePatternFromDecal as bg, createSymbol as bh, createIcon as bi, Point as bj, limitTurnAngle as bk, limitSurfaceAngle as bl, shiftLayoutOnY as bm, parsePercent$1 as bn, Polyline as bo, setLabelLineStyle as bp, retrieve3 as bq, getLabelLineStatesModels as br, makeSeriesEncodeForNameBased as bs, getPercentSeats as bt, defaultEmphasis as bu, createLegacyDataSelectAction as bv, createHashMap as c, enableDataStack as d, each$3 as e, SeriesData as f, map$1 as g, SOURCE_FORMAT_ORIGINAL as h, isFunction as i, isArray as j, getDataItemValue as k, getDimensionTypeByAxis as l, makeSeriesEncodeForAxisCoordSys as m, makeInner as n, getOptionCategoryInterval as o, prepareSeriesDataSchema as p, makeLabelFormatter as q, getBoundingRect as r, shouldShowAllLabels as s, getPixelPrecision as t, linearMap as u, round$1 as v, ComponentModel as w, mixin as x, merge as y, defaults as z };
37347
+ export { getAnimationConfig as $, queryDataIndex as A, setStatesFlag as B, ChartView as C, isFunction as D, ZRText as E, interpolateRawValues as F, Group as G, labelInner as H, each$3 as I, SPECIAL_STATES as J, lerp as K, LinearGradient as L, createRenderPlanner as M, cubicSubdivide as N, fromPoints as O, Path as P, BoundingRect as Q, clonePath as R, SeriesModel as S, Polygon as T, Sector as U, Rect as V, Point as W, Transformable as X, lerp$1 as Y, ZRImage as Z, __extends$1 as _, extend as a, createTextStyle as a$, isArray as a0, normalizeToArray as a1, SERIES_UNIVERSAL_TRANSITION_PROP as a2, makeInner as a3, DataDiffer as a4, filter as a5, createHashMap as a6, Displayable as a7, getOldStyle as a8, use as a9, OrdinalMeta as aA, fetchLayoutMode as aB, invert as aC, applyTransform$1 as aD, getScaleExtent as aE, increaseInterval as aF, IntervalScale as aG, getLayoutRect as aH, estimateLabelUnionRect as aI, indexOf as aJ, createScaleByModel as aK, isCartesian2DSeries as aL, findAxisModels as aM, getDataDimensionsOnAxis as aN, ifAxisCrossZero as aO, keys as aP, isIntervalOrLogScale as aQ, niceScaleExtent as aR, layout as aS, AxisBuilder as aT, groupTransition as aU, AxisView as aV, Line as aW, subPixelOptimizeLine as aX, ComponentView as aY, install$2 as aZ, retrieve2 as a_, init as aa, install$1 as ab, install as ac, SINGLE_REFERRING as ad, createSourceFromSeriesDataOption as ae, curry as af, makeSeriesEncodeForAxisCoordSys as ag, prepareSeriesDataSchema as ah, enableDataStack as ai, SeriesData as aj, CoordinateSystemManager as ak, SOURCE_FORMAT_ORIGINAL as al, getDataItemValue as am, getDimensionTypeByAxis as an, getOptionCategoryInterval as ao, makeLabelFormatter as ap, getBoundingRect as aq, shouldShowAllLabels as ar, getPixelPrecision as as, linearMap as at, round$1 as au, ComponentModel as av, mixin as aw, merge as ax, getLayoutParams as ay, mergeLayoutParam as az, setLabelStyle as b, makeSeriesEncodeForNameBased as b$, windowOpen as b0, retrieveRawValue as b1, isString as b2, inheritDefaultOption as b3, calculateTextPosition as b4, removeElementWithFadeOut as b5, setLabelValueAnimation as b6, throttle as b7, createProgressiveLayout as b8, layout$1 as b9, findPointFromSeries as bA, findEventDispatcher as bB, createTooltipMarkup as bC, getValueLabel as bD, trim as bE, getAxisRawValue as bF, normalizeTooltipFormatResult as bG, buildTooltipMarkup as bH, clone$2 as bI, format as bJ, formatTpl as bK, unregister as bL, Model as bM, preParseFinder as bN, queryReferringComponents as bO, TooltipMarkupStyleCreator as bP, noop as bQ, isNameSpecified as bR, parse as bS, stringify as bT, enableHoverEmphasis as bU, setTooltipConfig as bV, box as bW, createOrUpdatePatternFromDecal as bX, createIcon as bY, parsePercent$1 as bZ, retrieve3 as b_, DISPLAY_STATES as ba, Polyline as bb, quadraticProjectPoint as bc, cubicProjectPoint as bd, dist$1 as be, normalizeRadian as bf, parsePercent as bg, prepareLayoutList as bh, shiftLayoutOnX as bi, shiftLayoutOnY as bj, hideOverlap as bk, isElementRemoved as bl, animateLabelValue as bm, normalizeCssArray as bn, toCamelCase as bo, env as bp, normalizeEvent as bq, isDom as br, bind$1 as bs, getPaddingFromTooltipModel as bt, transformLocalCoord as bu, throwError as bv, getTooltipRenderMode as bw, createOrUpdate as bx, clear as by, register as bz, createSymbol as c, getPercentSeats as c0, defaultEmphasis as c1, createLegacyDataSelectAction as c2, getECData as d, enterEmphasis as e, normalizeSymbolSize as f, getLabelStatesModels as g, traverseElements as h, initProps as i, isObject$2 as j, isDimensionStacked as k, leaveEmphasis as l, map$1 as m, normalizeSymbolOffset as n, isNumber as o, createFloat32Array as p, cubicRootAt as q, removeElement as r, saveOldStyle as s, toggleHoverEmphasis as t, updateProps$1 as u, PathProxy as v, cubicAt as w, convertToColorString as x, defaults as y, setStatesStylesFromModel as z };