aw-highstock_rails 7.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (697) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.travis.yml +7 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +22 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +53 -0
  9. data/Rakefile +10 -0
  10. data/aw-highstock_rails.gemspec +28 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/lib/aw/highstock_rails.rb +9 -0
  14. data/lib/aw/highstock_rails/version.rb +5 -0
  15. data/vendor/assets/javascripts/highstock/css/annotations/popup.css +229 -0
  16. data/vendor/assets/javascripts/highstock/css/annotations/popup.scss +235 -0
  17. data/vendor/assets/javascripts/highstock/css/highcharts.css +890 -0
  18. data/vendor/assets/javascripts/highstock/css/highcharts.scss +788 -0
  19. data/vendor/assets/javascripts/highstock/css/stocktools/gui.css +268 -0
  20. data/vendor/assets/javascripts/highstock/css/stocktools/gui.scss +270 -0
  21. data/vendor/assets/javascripts/highstock/css/themes/dark-unica.css +951 -0
  22. data/vendor/assets/javascripts/highstock/css/themes/dark-unica.scss +122 -0
  23. data/vendor/assets/javascripts/highstock/css/themes/grid-light.css +904 -0
  24. data/vendor/assets/javascripts/highstock/css/themes/grid-light.scss +33 -0
  25. data/vendor/assets/javascripts/highstock/css/themes/sand-signika.css +920 -0
  26. data/vendor/assets/javascripts/highstock/css/themes/sand-signika.scss +74 -0
  27. data/vendor/assets/javascripts/highstock/es-modules/annotations/ControlPoint.js +130 -0
  28. data/vendor/assets/javascripts/highstock/es-modules/annotations/MockPoint.js +415 -0
  29. data/vendor/assets/javascripts/highstock/es-modules/annotations/annotations.src.js +1231 -0
  30. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableCircle.js +92 -0
  31. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableImage.js +101 -0
  32. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableLabel.js +452 -0
  33. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllablePath.js +175 -0
  34. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/ControllableRect.js +93 -0
  35. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/controllableMixin.js +411 -0
  36. data/vendor/assets/javascripts/highstock/es-modules/annotations/controllable/markerMixin.js +214 -0
  37. data/vendor/assets/javascripts/highstock/es-modules/annotations/eventEmitterMixin.js +271 -0
  38. data/vendor/assets/javascripts/highstock/es-modules/annotations/navigationBindings.js +1283 -0
  39. data/vendor/assets/javascripts/highstock/es-modules/annotations/popup.js +1069 -0
  40. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/CrookedLine.js +191 -0
  41. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/ElliottWave.js +76 -0
  42. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Fibonacci.js +247 -0
  43. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/InfinityLine.js +185 -0
  44. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Measure.js +928 -0
  45. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Pitchfork.js +203 -0
  46. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/Tunnel.js +242 -0
  47. data/vendor/assets/javascripts/highstock/es-modules/annotations/types/VerticalLine.js +157 -0
  48. data/vendor/assets/javascripts/highstock/es-modules/error-messages.js +128 -0
  49. data/vendor/assets/javascripts/highstock/es-modules/error.js +1 -0
  50. data/vendor/assets/javascripts/highstock/es-modules/indicators/acceleration-bands.src.js +199 -0
  51. data/vendor/assets/javascripts/highstock/es-modules/indicators/accumulation-distribution.src.js +129 -0
  52. data/vendor/assets/javascripts/highstock/es-modules/indicators/ao.src.js +206 -0
  53. data/vendor/assets/javascripts/highstock/es-modules/indicators/apo.src.js +148 -0
  54. data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon-oscillator.src.js +128 -0
  55. data/vendor/assets/javascripts/highstock/es-modules/indicators/aroon.src.js +173 -0
  56. data/vendor/assets/javascripts/highstock/es-modules/indicators/atr.src.js +151 -0
  57. data/vendor/assets/javascripts/highstock/es-modules/indicators/bollinger-bands.src.js +209 -0
  58. data/vendor/assets/javascripts/highstock/es-modules/indicators/cci.src.js +131 -0
  59. data/vendor/assets/javascripts/highstock/es-modules/indicators/chaikin.src.js +167 -0
  60. data/vendor/assets/javascripts/highstock/es-modules/indicators/cmf.src.js +246 -0
  61. data/vendor/assets/javascripts/highstock/es-modules/indicators/dema.src.js +191 -0
  62. data/vendor/assets/javascripts/highstock/es-modules/indicators/dpo.src.js +138 -0
  63. data/vendor/assets/javascripts/highstock/es-modules/indicators/ema.src.js +166 -0
  64. data/vendor/assets/javascripts/highstock/es-modules/indicators/ichimoku-kinko-hyo.src.js +850 -0
  65. data/vendor/assets/javascripts/highstock/es-modules/indicators/indicators.src.js +425 -0
  66. data/vendor/assets/javascripts/highstock/es-modules/indicators/keltner-channels.src.js +193 -0
  67. data/vendor/assets/javascripts/highstock/es-modules/indicators/macd.src.js +417 -0
  68. data/vendor/assets/javascripts/highstock/es-modules/indicators/mfi.src.js +198 -0
  69. data/vendor/assets/javascripts/highstock/es-modules/indicators/momentum.src.js +119 -0
  70. data/vendor/assets/javascripts/highstock/es-modules/indicators/natr.src.js +74 -0
  71. data/vendor/assets/javascripts/highstock/es-modules/indicators/pivot-points.src.js +360 -0
  72. data/vendor/assets/javascripts/highstock/es-modules/indicators/ppo.src.js +152 -0
  73. data/vendor/assets/javascripts/highstock/es-modules/indicators/price-channel.src.js +149 -0
  74. data/vendor/assets/javascripts/highstock/es-modules/indicators/price-envelopes.src.js +251 -0
  75. data/vendor/assets/javascripts/highstock/es-modules/indicators/psar.src.js +307 -0
  76. data/vendor/assets/javascripts/highstock/es-modules/indicators/regressions.src.js +427 -0
  77. data/vendor/assets/javascripts/highstock/es-modules/indicators/roc.src.js +149 -0
  78. data/vendor/assets/javascripts/highstock/es-modules/indicators/rsi.src.js +163 -0
  79. data/vendor/assets/javascripts/highstock/es-modules/indicators/stochastic.src.js +193 -0
  80. data/vendor/assets/javascripts/highstock/es-modules/indicators/supertrend.src.js +544 -0
  81. data/vendor/assets/javascripts/highstock/es-modules/indicators/tema.src.js +247 -0
  82. data/vendor/assets/javascripts/highstock/es-modules/indicators/trix.src.js +96 -0
  83. data/vendor/assets/javascripts/highstock/es-modules/indicators/volume-by-price.src.js +671 -0
  84. data/vendor/assets/javascripts/highstock/es-modules/indicators/vwap.src.js +189 -0
  85. data/vendor/assets/javascripts/highstock/es-modules/indicators/williams-r.src.js +128 -0
  86. data/vendor/assets/javascripts/highstock/es-modules/indicators/wma.src.js +146 -0
  87. data/vendor/assets/javascripts/highstock/es-modules/indicators/zigzag.src.js +221 -0
  88. data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-3d.src.js +17 -0
  89. data/vendor/assets/javascripts/highstock/es-modules/masters/highcharts-more.src.js +22 -0
  90. data/vendor/assets/javascripts/highstock/es-modules/masters/highstock.src.js +11 -0
  91. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/acceleration-bands.src.js +11 -0
  92. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/accumulation-distribution.src.js +11 -0
  93. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ao.src.js +11 -0
  94. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/apo.src.js +11 -0
  95. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon-oscillator.src.js +11 -0
  96. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/aroon.src.js +11 -0
  97. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/atr.src.js +11 -0
  98. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/bollinger-bands.src.js +11 -0
  99. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cci.src.js +11 -0
  100. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/chaikin.src.js +11 -0
  101. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/cmf.src.js +10 -0
  102. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dema.src.js +11 -0
  103. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/dpo.src.js +11 -0
  104. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ema.src.js +11 -0
  105. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +11 -0
  106. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators-all.src.js +49 -0
  107. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/indicators.src.js +11 -0
  108. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/keltner-channels.src.js +11 -0
  109. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/macd.src.js +11 -0
  110. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/mfi.src.js +11 -0
  111. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/momentum.src.js +11 -0
  112. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/natr.src.js +11 -0
  113. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/pivot-points.src.js +11 -0
  114. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/ppo.src.js +11 -0
  115. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-channel.src.js +11 -0
  116. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/price-envelopes.src.js +11 -0
  117. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/psar.src.js +11 -0
  118. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/regressions.src.js +11 -0
  119. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/roc.src.js +11 -0
  120. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/rsi.src.js +11 -0
  121. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/stochastic.src.js +11 -0
  122. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/supertrend.src.js +11 -0
  123. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/tema.src.js +11 -0
  124. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/trix.src.js +11 -0
  125. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/volume-by-price.src.js +11 -0
  126. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/vwap.src.js +11 -0
  127. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/williams-r.src.js +11 -0
  128. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/wma.src.js +11 -0
  129. data/vendor/assets/javascripts/highstock/es-modules/masters/indicators/zigzag.src.js +11 -0
  130. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/accessibility.src.js +13 -0
  131. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations-advanced.src.js +20 -0
  132. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/annotations.src.js +12 -0
  133. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/arrow-symbols.src.js +10 -0
  134. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost-canvas.src.js +11 -0
  135. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/boost.src.js +11 -0
  136. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/bullet.src.js +11 -0
  137. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/current-date-indicator.src.js +10 -0
  138. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/cylinder.src.js +10 -0
  139. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/data.src.js +10 -0
  140. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/datagrouping.src.js +12 -0
  141. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/debugger.src.js +13 -0
  142. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/dependency-wheel.src.js +10 -0
  143. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drag-panes.src.js +11 -0
  144. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/draggable-points.src.js +9 -0
  145. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/drilldown.src.js +10 -0
  146. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/export-data.src.js +10 -0
  147. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/exporting.src.js +10 -0
  148. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/full-screen.src.js +11 -0
  149. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/funnel.src.js +10 -0
  150. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/grid-axis.src.js +10 -0
  151. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/heatmap.src.js +11 -0
  152. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/histogram-bellcurve.src.js +11 -0
  153. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/item-series.src.js +11 -0
  154. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/networkgraph.src.js +10 -0
  155. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/no-data-to-display.src.js +11 -0
  156. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/offline-exporting.src.js +10 -0
  157. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie-polyfills.src.js +11 -0
  158. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/oldie.src.js +11 -0
  159. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/overlapping-datalabels.src.js +9 -0
  160. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/parallel-coordinates.src.js +11 -0
  161. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pareto.src.js +11 -0
  162. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pathfinder.src.js +10 -0
  163. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/pattern-fill.src.js +11 -0
  164. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/price-indicator.src.js +11 -0
  165. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sankey.src.js +10 -0
  166. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/series-label.src.js +9 -0
  167. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/solid-gauge.src.js +10 -0
  168. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sonification.src.js +12 -0
  169. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/static-scale.src.js +10 -0
  170. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock-tools.src.js +12 -0
  171. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/stock.src.js +19 -0
  172. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/streamgraph.src.js +10 -0
  173. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/sunburst.src.js +10 -0
  174. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/tilemap.src.js +10 -0
  175. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/timeline.src.js +11 -0
  176. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treegrid.src.js +10 -0
  177. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/treemap.src.js +10 -0
  178. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variable-pie.src.js +11 -0
  179. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/variwide.src.js +10 -0
  180. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/vector.src.js +10 -0
  181. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/venn.src.js +10 -0
  182. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/windbarb.src.js +10 -0
  183. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/wordcloud.src.js +10 -0
  184. data/vendor/assets/javascripts/highstock/es-modules/masters/modules/xrange.src.js +10 -0
  185. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.js +9 -0
  186. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/avocado.src.js +9 -0
  187. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-blue.src.js +9 -0
  188. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-green.src.js +9 -0
  189. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/dark-unica.src.js +9 -0
  190. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/gray.src.js +9 -0
  191. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid-light.src.js +9 -0
  192. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/grid.src.js +9 -0
  193. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sand-signika.src.js +9 -0
  194. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/skies.src.js +9 -0
  195. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.js +9 -0
  196. data/vendor/assets/javascripts/highstock/es-modules/masters/themes/sunset.src.js +9 -0
  197. data/vendor/assets/javascripts/highstock/es-modules/mixins/ajax.js +123 -0
  198. data/vendor/assets/javascripts/highstock/es-modules/mixins/centered-series.js +116 -0
  199. data/vendor/assets/javascripts/highstock/es-modules/mixins/derived-series.js +150 -0
  200. data/vendor/assets/javascripts/highstock/es-modules/mixins/download-url.js +103 -0
  201. data/vendor/assets/javascripts/highstock/es-modules/mixins/draw-point.js +51 -0
  202. data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry-circles.js +300 -0
  203. data/vendor/assets/javascripts/highstock/es-modules/mixins/geometry.js +50 -0
  204. data/vendor/assets/javascripts/highstock/es-modules/mixins/indicator-required.js +49 -0
  205. data/vendor/assets/javascripts/highstock/es-modules/mixins/multipe-lines.js +223 -0
  206. data/vendor/assets/javascripts/highstock/es-modules/mixins/navigation.js +59 -0
  207. data/vendor/assets/javascripts/highstock/es-modules/mixins/nodes.js +76 -0
  208. data/vendor/assets/javascripts/highstock/es-modules/mixins/on-series.js +167 -0
  209. data/vendor/assets/javascripts/highstock/es-modules/mixins/polygon.js +293 -0
  210. data/vendor/assets/javascripts/highstock/es-modules/mixins/reduce-array.js +53 -0
  211. data/vendor/assets/javascripts/highstock/es-modules/mixins/tree-series.js +256 -0
  212. data/vendor/assets/javascripts/highstock/es-modules/modules/a11y-i18n.src.js +524 -0
  213. data/vendor/assets/javascripts/highstock/es-modules/modules/annotations-legacy.src.js +1951 -0
  214. data/vendor/assets/javascripts/highstock/es-modules/modules/bellcurve.src.js +173 -0
  215. data/vendor/assets/javascripts/highstock/es-modules/modules/boost-canvas.src.js +732 -0
  216. data/vendor/assets/javascripts/highstock/es-modules/modules/boost.src.js +3730 -0
  217. data/vendor/assets/javascripts/highstock/es-modules/modules/bullet.src.js +361 -0
  218. data/vendor/assets/javascripts/highstock/es-modules/modules/cylinder.src.js +389 -0
  219. data/vendor/assets/javascripts/highstock/es-modules/modules/data.src.js +2417 -0
  220. data/vendor/assets/javascripts/highstock/es-modules/modules/debugger.src.js +109 -0
  221. data/vendor/assets/javascripts/highstock/es-modules/modules/dependency-wheel.src.js +199 -0
  222. data/vendor/assets/javascripts/highstock/es-modules/modules/drag-panes.src.js +624 -0
  223. data/vendor/assets/javascripts/highstock/es-modules/modules/draggable-points.src.js +2625 -0
  224. data/vendor/assets/javascripts/highstock/es-modules/modules/drilldown.src.js +1300 -0
  225. data/vendor/assets/javascripts/highstock/es-modules/modules/export-data.src.js +983 -0
  226. data/vendor/assets/javascripts/highstock/es-modules/modules/exporting.src.js +2149 -0
  227. data/vendor/assets/javascripts/highstock/es-modules/modules/full-screen.src.js +40 -0
  228. data/vendor/assets/javascripts/highstock/es-modules/modules/funnel.src.js +552 -0
  229. data/vendor/assets/javascripts/highstock/es-modules/modules/histogram.src.js +229 -0
  230. data/vendor/assets/javascripts/highstock/es-modules/modules/item-series.src.js +150 -0
  231. data/vendor/assets/javascripts/highstock/es-modules/modules/keyboard-navigation.src.js +1606 -0
  232. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/QuadTree.js +175 -0
  233. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/layouts.js +506 -0
  234. data/vendor/assets/javascripts/highstock/es-modules/modules/networkgraph/networkgraph.src.js +740 -0
  235. data/vendor/assets/javascripts/highstock/es-modules/modules/no-data-to-display.src.js +260 -0
  236. data/vendor/assets/javascripts/highstock/es-modules/modules/offline-exporting.src.js +710 -0
  237. data/vendor/assets/javascripts/highstock/es-modules/modules/oldie-polyfills.src.js +121 -0
  238. data/vendor/assets/javascripts/highstock/es-modules/modules/oldie.src.js +1556 -0
  239. data/vendor/assets/javascripts/highstock/es-modules/modules/overlapping-datalabels.src.js +250 -0
  240. data/vendor/assets/javascripts/highstock/es-modules/modules/parallel-coordinates.src.js +492 -0
  241. data/vendor/assets/javascripts/highstock/es-modules/modules/pareto.src.js +152 -0
  242. data/vendor/assets/javascripts/highstock/es-modules/modules/pattern-fill.src.js +607 -0
  243. data/vendor/assets/javascripts/highstock/es-modules/modules/price-indicator.src.js +149 -0
  244. data/vendor/assets/javascripts/highstock/es-modules/modules/sankey.src.js +809 -0
  245. data/vendor/assets/javascripts/highstock/es-modules/modules/screen-reader.src.js +954 -0
  246. data/vendor/assets/javascripts/highstock/es-modules/modules/series-label.src.js +1042 -0
  247. data/vendor/assets/javascripts/highstock/es-modules/modules/solid-gauge.src.js +486 -0
  248. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Earcon.js +184 -0
  249. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Instrument.js +582 -0
  250. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/Timeline.js +702 -0
  251. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/chartSonify.js +1026 -0
  252. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/instrumentDefinitions.js +37 -0
  253. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/musicalFrequencies.js +113 -0
  254. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/pointSonify.js +385 -0
  255. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/sonification.js +107 -0
  256. data/vendor/assets/javascripts/highstock/es-modules/modules/sonification/utilities.js +178 -0
  257. data/vendor/assets/javascripts/highstock/es-modules/modules/static-scale.src.js +88 -0
  258. data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-bindings.js +1950 -0
  259. data/vendor/assets/javascripts/highstock/es-modules/modules/stock-tools-gui.js +1458 -0
  260. data/vendor/assets/javascripts/highstock/es-modules/modules/streamgraph.src.js +132 -0
  261. data/vendor/assets/javascripts/highstock/es-modules/modules/sunburst.src.js +1041 -0
  262. data/vendor/assets/javascripts/highstock/es-modules/modules/tilemap.src.js +769 -0
  263. data/vendor/assets/javascripts/highstock/es-modules/modules/timeline.src.js +750 -0
  264. data/vendor/assets/javascripts/highstock/es-modules/modules/treemap.src.js +1803 -0
  265. data/vendor/assets/javascripts/highstock/es-modules/modules/variable-pie.src.js +459 -0
  266. data/vendor/assets/javascripts/highstock/es-modules/modules/variwide.src.js +350 -0
  267. data/vendor/assets/javascripts/highstock/es-modules/modules/vector.src.js +354 -0
  268. data/vendor/assets/javascripts/highstock/es-modules/modules/venn.src.js +1192 -0
  269. data/vendor/assets/javascripts/highstock/es-modules/modules/windbarb.src.js +380 -0
  270. data/vendor/assets/javascripts/highstock/es-modules/modules/wordcloud.src.js +1103 -0
  271. data/vendor/assets/javascripts/highstock/es-modules/modules/xrange.src.js +761 -0
  272. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Axis.js +669 -0
  273. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Chart.js +1753 -0
  274. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Column.js +437 -0
  275. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Math.js +206 -0
  276. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Pie.js +207 -0
  277. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/SVGRenderer.js +1002 -0
  278. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Scatter.js +154 -0
  279. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/Series.js +73 -0
  280. data/vendor/assets/javascripts/highstock/es-modules/parts-3d/VMLRenderer.js +62 -0
  281. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/ArrowSymbols.js +198 -0
  282. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/CurrentDateIndicator.js +100 -0
  283. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttChart.js +140 -0
  284. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GanttSeries.js +415 -0
  285. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/GridAxis.js +961 -0
  286. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Pathfinder.js +1298 -0
  287. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/PathfinderAlgorithms.js +816 -0
  288. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/Tree.js +158 -0
  289. data/vendor/assets/javascripts/highstock/es-modules/parts-gantt/TreeGrid.js +1003 -0
  290. data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorAxis.js +1103 -0
  291. data/vendor/assets/javascripts/highstock/es-modules/parts-map/ColorSeriesMixin.js +138 -0
  292. data/vendor/assets/javascripts/highstock/es-modules/parts-map/GeoJSON.js +435 -0
  293. data/vendor/assets/javascripts/highstock/es-modules/parts-map/HeatmapSeries.js +474 -0
  294. data/vendor/assets/javascripts/highstock/es-modules/parts-map/Map.js +477 -0
  295. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapAxis.js +124 -0
  296. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapBubbleSeries.js +274 -0
  297. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapLineSeries.js +143 -0
  298. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapNavigation.js +357 -0
  299. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointSeries.js +187 -0
  300. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapPointer.js +132 -0
  301. data/vendor/assets/javascripts/highstock/es-modules/parts-map/MapSeries.js +1294 -0
  302. data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaRangeSeries.js +725 -0
  303. data/vendor/assets/javascripts/highstock/es-modules/parts-more/AreaSplineRangeSeries.js +98 -0
  304. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BoxPlotSeries.js +617 -0
  305. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleLegend.js +1167 -0
  306. data/vendor/assets/javascripts/highstock/es-modules/parts-more/BubbleSeries.js +661 -0
  307. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnPyramidSeries.js +288 -0
  308. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ColumnRangeSeries.js +278 -0
  309. data/vendor/assets/javascripts/highstock/es-modules/parts-more/ErrorBarSeries.js +172 -0
  310. data/vendor/assets/javascripts/highstock/es-modules/parts-more/GaugeSeries.js +618 -0
  311. data/vendor/assets/javascripts/highstock/es-modules/parts-more/PackedBubbleSeries.js +567 -0
  312. data/vendor/assets/javascripts/highstock/es-modules/parts-more/Pane.js +399 -0
  313. data/vendor/assets/javascripts/highstock/es-modules/parts-more/Polar.js +634 -0
  314. data/vendor/assets/javascripts/highstock/es-modules/parts-more/PolygonSeries.js +151 -0
  315. data/vendor/assets/javascripts/highstock/es-modules/parts-more/RadialAxis.js +685 -0
  316. data/vendor/assets/javascripts/highstock/es-modules/parts-more/WaterfallSeries.js +765 -0
  317. data/vendor/assets/javascripts/highstock/es-modules/parts.js +684 -0
  318. data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSeries.js +578 -0
  319. data/vendor/assets/javascripts/highstock/es-modules/parts/AreaSplineSeries.js +122 -0
  320. data/vendor/assets/javascripts/highstock/es-modules/parts/Axis.js +6453 -0
  321. data/vendor/assets/javascripts/highstock/es-modules/parts/BarSeries.js +153 -0
  322. data/vendor/assets/javascripts/highstock/es-modules/parts/CandlestickSeries.js +358 -0
  323. data/vendor/assets/javascripts/highstock/es-modules/parts/Chart.js +2307 -0
  324. data/vendor/assets/javascripts/highstock/es-modules/parts/Color.js +301 -0
  325. data/vendor/assets/javascripts/highstock/es-modules/parts/ColumnSeries.js +1125 -0
  326. data/vendor/assets/javascripts/highstock/es-modules/parts/DataGrouping.js +1115 -0
  327. data/vendor/assets/javascripts/highstock/es-modules/parts/DataLabels.js +1431 -0
  328. data/vendor/assets/javascripts/highstock/es-modules/parts/DateTimeAxis.js +134 -0
  329. data/vendor/assets/javascripts/highstock/es-modules/parts/Dynamics.js +1301 -0
  330. data/vendor/assets/javascripts/highstock/es-modules/parts/FlagsSeries.js +739 -0
  331. data/vendor/assets/javascripts/highstock/es-modules/parts/Globals.js +75 -0
  332. data/vendor/assets/javascripts/highstock/es-modules/parts/Html.js +539 -0
  333. data/vendor/assets/javascripts/highstock/es-modules/parts/Interaction.js +1299 -0
  334. data/vendor/assets/javascripts/highstock/es-modules/parts/Legend.js +1411 -0
  335. data/vendor/assets/javascripts/highstock/es-modules/parts/LogarithmicAxis.js +168 -0
  336. data/vendor/assets/javascripts/highstock/es-modules/parts/MSPointer.js +176 -0
  337. data/vendor/assets/javascripts/highstock/es-modules/parts/Navigator.js +2486 -0
  338. data/vendor/assets/javascripts/highstock/es-modules/parts/OHLCSeries.js +412 -0
  339. data/vendor/assets/javascripts/highstock/es-modules/parts/Options.js +3732 -0
  340. data/vendor/assets/javascripts/highstock/es-modules/parts/OrdinalAxis.js +962 -0
  341. data/vendor/assets/javascripts/highstock/es-modules/parts/PieSeries.js +1328 -0
  342. data/vendor/assets/javascripts/highstock/es-modules/parts/PlotBandSeries.experimental.js +74 -0
  343. data/vendor/assets/javascripts/highstock/es-modules/parts/PlotLineOrBand.js +1061 -0
  344. data/vendor/assets/javascripts/highstock/es-modules/parts/Point.js +681 -0
  345. data/vendor/assets/javascripts/highstock/es-modules/parts/Pointer.js +1332 -0
  346. data/vendor/assets/javascripts/highstock/es-modules/parts/RangeSelector.js +2063 -0
  347. data/vendor/assets/javascripts/highstock/es-modules/parts/Responsive.js +295 -0
  348. data/vendor/assets/javascripts/highstock/es-modules/parts/ScatterSeries.js +278 -0
  349. data/vendor/assets/javascripts/highstock/es-modules/parts/ScrollablePlotArea.js +266 -0
  350. data/vendor/assets/javascripts/highstock/es-modules/parts/Scrollbar.js +1134 -0
  351. data/vendor/assets/javascripts/highstock/es-modules/parts/Series.js +5864 -0
  352. data/vendor/assets/javascripts/highstock/es-modules/parts/SplineSeries.js +267 -0
  353. data/vendor/assets/javascripts/highstock/es-modules/parts/Stacking.js +604 -0
  354. data/vendor/assets/javascripts/highstock/es-modules/parts/StockChart.js +951 -0
  355. data/vendor/assets/javascripts/highstock/es-modules/parts/SvgRenderer.js +5109 -0
  356. data/vendor/assets/javascripts/highstock/es-modules/parts/Tick.js +746 -0
  357. data/vendor/assets/javascripts/highstock/es-modules/parts/Time.js +881 -0
  358. data/vendor/assets/javascripts/highstock/es-modules/parts/Tooltip.js +1318 -0
  359. data/vendor/assets/javascripts/highstock/es-modules/parts/TouchPointer.js +404 -0
  360. data/vendor/assets/javascripts/highstock/es-modules/parts/Utilities.js +2751 -0
  361. data/vendor/assets/javascripts/highstock/es-modules/themes/avocado.js +37 -0
  362. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-blue.js +259 -0
  363. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-green.js +261 -0
  364. data/vendor/assets/javascripts/highstock/es-modules/themes/dark-unica.js +220 -0
  365. data/vendor/assets/javascripts/highstock/es-modules/themes/gray.js +267 -0
  366. data/vendor/assets/javascripts/highstock/es-modules/themes/grid-light.js +81 -0
  367. data/vendor/assets/javascripts/highstock/es-modules/themes/grid.js +110 -0
  368. data/vendor/assets/javascripts/highstock/es-modules/themes/sand-signika.js +111 -0
  369. data/vendor/assets/javascripts/highstock/es-modules/themes/skies.js +100 -0
  370. data/vendor/assets/javascripts/highstock/es-modules/themes/sunset.js +36 -0
  371. data/vendor/assets/javascripts/highstock/highcharts-3d.js +85 -0
  372. data/vendor/assets/javascripts/highstock/highcharts-3d.js.map +1 -0
  373. data/vendor/assets/javascripts/highstock/highcharts-more.js +101 -0
  374. data/vendor/assets/javascripts/highstock/highcharts-more.js.map +1 -0
  375. data/vendor/assets/javascripts/highstock/highstock.js +583 -0
  376. data/vendor/assets/javascripts/highstock/highstock.js.map +1 -0
  377. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js +16 -0
  378. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.js.map +1 -0
  379. data/vendor/assets/javascripts/highstock/indicators/acceleration-bands.src.js +448 -0
  380. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js +12 -0
  381. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.js.map +1 -0
  382. data/vendor/assets/javascripts/highstock/indicators/accumulation-distribution.src.js +156 -0
  383. data/vendor/assets/javascripts/highstock/indicators/ao.js +13 -0
  384. data/vendor/assets/javascripts/highstock/indicators/ao.js.map +1 -0
  385. data/vendor/assets/javascripts/highstock/indicators/ao.src.js +233 -0
  386. data/vendor/assets/javascripts/highstock/indicators/apo.js +13 -0
  387. data/vendor/assets/javascripts/highstock/indicators/apo.js.map +1 -0
  388. data/vendor/assets/javascripts/highstock/indicators/apo.src.js +223 -0
  389. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js +15 -0
  390. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.js.map +1 -0
  391. data/vendor/assets/javascripts/highstock/indicators/aroon-oscillator.src.js +426 -0
  392. data/vendor/assets/javascripts/highstock/indicators/aroon.js +16 -0
  393. data/vendor/assets/javascripts/highstock/indicators/aroon.js.map +1 -0
  394. data/vendor/assets/javascripts/highstock/indicators/aroon.src.js +423 -0
  395. data/vendor/assets/javascripts/highstock/indicators/atr.js +12 -0
  396. data/vendor/assets/javascripts/highstock/indicators/atr.js.map +1 -0
  397. data/vendor/assets/javascripts/highstock/indicators/atr.src.js +178 -0
  398. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js +16 -0
  399. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.js.map +1 -0
  400. data/vendor/assets/javascripts/highstock/indicators/bollinger-bands.src.js +458 -0
  401. data/vendor/assets/javascripts/highstock/indicators/cci.js +12 -0
  402. data/vendor/assets/javascripts/highstock/indicators/cci.js.map +1 -0
  403. data/vendor/assets/javascripts/highstock/indicators/cci.src.js +158 -0
  404. data/vendor/assets/javascripts/highstock/indicators/chaikin.js +15 -0
  405. data/vendor/assets/javascripts/highstock/indicators/chaikin.js.map +1 -0
  406. data/vendor/assets/javascripts/highstock/indicators/chaikin.src.js +370 -0
  407. data/vendor/assets/javascripts/highstock/indicators/cmf.js +12 -0
  408. data/vendor/assets/javascripts/highstock/indicators/cmf.js.map +1 -0
  409. data/vendor/assets/javascripts/highstock/indicators/cmf.src.js +273 -0
  410. data/vendor/assets/javascripts/highstock/indicators/dema.js +13 -0
  411. data/vendor/assets/javascripts/highstock/indicators/dema.js.map +1 -0
  412. data/vendor/assets/javascripts/highstock/indicators/dema.src.js +266 -0
  413. data/vendor/assets/javascripts/highstock/indicators/dpo.js +12 -0
  414. data/vendor/assets/javascripts/highstock/indicators/dpo.js.map +1 -0
  415. data/vendor/assets/javascripts/highstock/indicators/dpo.src.js +166 -0
  416. data/vendor/assets/javascripts/highstock/indicators/ema.js +12 -0
  417. data/vendor/assets/javascripts/highstock/indicators/ema.js.map +1 -0
  418. data/vendor/assets/javascripts/highstock/indicators/ema.src.js +193 -0
  419. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js +22 -0
  420. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.js.map +1 -0
  421. data/vendor/assets/javascripts/highstock/indicators/ichimoku-kinko-hyo.src.js +877 -0
  422. data/vendor/assets/javascripts/highstock/indicators/indicators-all.js +117 -0
  423. data/vendor/assets/javascripts/highstock/indicators/indicators-all.js.map +1 -0
  424. data/vendor/assets/javascripts/highstock/indicators/indicators-all.src.js +9389 -0
  425. data/vendor/assets/javascripts/highstock/indicators/indicators.js +17 -0
  426. data/vendor/assets/javascripts/highstock/indicators/indicators.js.map +1 -0
  427. data/vendor/assets/javascripts/highstock/indicators/indicators.src.js +500 -0
  428. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js +16 -0
  429. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.js.map +1 -0
  430. data/vendor/assets/javascripts/highstock/indicators/keltner-channels.src.js +442 -0
  431. data/vendor/assets/javascripts/highstock/indicators/macd.js +18 -0
  432. data/vendor/assets/javascripts/highstock/indicators/macd.js.map +1 -0
  433. data/vendor/assets/javascripts/highstock/indicators/macd.src.js +444 -0
  434. data/vendor/assets/javascripts/highstock/indicators/mfi.js +13 -0
  435. data/vendor/assets/javascripts/highstock/indicators/mfi.js.map +1 -0
  436. data/vendor/assets/javascripts/highstock/indicators/mfi.src.js +225 -0
  437. data/vendor/assets/javascripts/highstock/indicators/momentum.js +12 -0
  438. data/vendor/assets/javascripts/highstock/indicators/momentum.js.map +1 -0
  439. data/vendor/assets/javascripts/highstock/indicators/momentum.src.js +146 -0
  440. data/vendor/assets/javascripts/highstock/indicators/natr.js +12 -0
  441. data/vendor/assets/javascripts/highstock/indicators/natr.js.map +1 -0
  442. data/vendor/assets/javascripts/highstock/indicators/natr.src.js +101 -0
  443. data/vendor/assets/javascripts/highstock/indicators/pivot-points.js +16 -0
  444. data/vendor/assets/javascripts/highstock/indicators/pivot-points.js.map +1 -0
  445. data/vendor/assets/javascripts/highstock/indicators/pivot-points.src.js +387 -0
  446. data/vendor/assets/javascripts/highstock/indicators/ppo.js +13 -0
  447. data/vendor/assets/javascripts/highstock/indicators/ppo.js.map +1 -0
  448. data/vendor/assets/javascripts/highstock/indicators/ppo.src.js +227 -0
  449. data/vendor/assets/javascripts/highstock/indicators/price-channel.js +16 -0
  450. data/vendor/assets/javascripts/highstock/indicators/price-channel.js.map +1 -0
  451. data/vendor/assets/javascripts/highstock/indicators/price-channel.src.js +450 -0
  452. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js +15 -0
  453. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.js.map +1 -0
  454. data/vendor/assets/javascripts/highstock/indicators/price-envelopes.src.js +278 -0
  455. data/vendor/assets/javascripts/highstock/indicators/psar.js +13 -0
  456. data/vendor/assets/javascripts/highstock/indicators/psar.js.map +1 -0
  457. data/vendor/assets/javascripts/highstock/indicators/psar.src.js +334 -0
  458. data/vendor/assets/javascripts/highstock/indicators/regressions.js +14 -0
  459. data/vendor/assets/javascripts/highstock/indicators/regressions.js.map +1 -0
  460. data/vendor/assets/javascripts/highstock/indicators/regressions.src.js +454 -0
  461. data/vendor/assets/javascripts/highstock/indicators/roc.js +12 -0
  462. data/vendor/assets/javascripts/highstock/indicators/roc.js.map +1 -0
  463. data/vendor/assets/javascripts/highstock/indicators/roc.src.js +176 -0
  464. data/vendor/assets/javascripts/highstock/indicators/rsi.js +12 -0
  465. data/vendor/assets/javascripts/highstock/indicators/rsi.js.map +1 -0
  466. data/vendor/assets/javascripts/highstock/indicators/rsi.src.js +190 -0
  467. data/vendor/assets/javascripts/highstock/indicators/stochastic.js +17 -0
  468. data/vendor/assets/javascripts/highstock/indicators/stochastic.js.map +1 -0
  469. data/vendor/assets/javascripts/highstock/indicators/stochastic.src.js +494 -0
  470. data/vendor/assets/javascripts/highstock/indicators/supertrend.js +17 -0
  471. data/vendor/assets/javascripts/highstock/indicators/supertrend.js.map +1 -0
  472. data/vendor/assets/javascripts/highstock/indicators/supertrend.src.js +571 -0
  473. data/vendor/assets/javascripts/highstock/indicators/tema.js +14 -0
  474. data/vendor/assets/javascripts/highstock/indicators/tema.js.map +1 -0
  475. data/vendor/assets/javascripts/highstock/indicators/tema.src.js +322 -0
  476. data/vendor/assets/javascripts/highstock/indicators/trix.js +12 -0
  477. data/vendor/assets/javascripts/highstock/indicators/trix.js.map +1 -0
  478. data/vendor/assets/javascripts/highstock/indicators/trix.src.js +171 -0
  479. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js +21 -0
  480. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.js.map +1 -0
  481. data/vendor/assets/javascripts/highstock/indicators/volume-by-price.src.js +698 -0
  482. data/vendor/assets/javascripts/highstock/indicators/vwap.js +12 -0
  483. data/vendor/assets/javascripts/highstock/indicators/vwap.js.map +1 -0
  484. data/vendor/assets/javascripts/highstock/indicators/vwap.src.js +216 -0
  485. data/vendor/assets/javascripts/highstock/indicators/williams-r.js +13 -0
  486. data/vendor/assets/javascripts/highstock/indicators/williams-r.js.map +1 -0
  487. data/vendor/assets/javascripts/highstock/indicators/williams-r.src.js +207 -0
  488. data/vendor/assets/javascripts/highstock/indicators/wma.js +12 -0
  489. data/vendor/assets/javascripts/highstock/indicators/wma.js.map +1 -0
  490. data/vendor/assets/javascripts/highstock/indicators/wma.src.js +173 -0
  491. data/vendor/assets/javascripts/highstock/indicators/zigzag.js +13 -0
  492. data/vendor/assets/javascripts/highstock/indicators/zigzag.js.map +1 -0
  493. data/vendor/assets/javascripts/highstock/indicators/zigzag.src.js +248 -0
  494. data/vendor/assets/javascripts/highstock/lib/canvg.js +130 -0
  495. data/vendor/assets/javascripts/highstock/lib/canvg.src.js +3073 -0
  496. data/vendor/assets/javascripts/highstock/lib/jspdf.js +283 -0
  497. data/vendor/assets/javascripts/highstock/lib/jspdf.src.js +21627 -0
  498. data/vendor/assets/javascripts/highstock/lib/rgbcolor.js +17 -0
  499. data/vendor/assets/javascripts/highstock/lib/rgbcolor.src.js +299 -0
  500. data/vendor/assets/javascripts/highstock/lib/svg2pdf.js +38 -0
  501. data/vendor/assets/javascripts/highstock/lib/svg2pdf.src.js +4390 -0
  502. data/vendor/assets/javascripts/highstock/modules/accessibility.js +73 -0
  503. data/vendor/assets/javascripts/highstock/modules/accessibility.js.map +1 -0
  504. data/vendor/assets/javascripts/highstock/modules/accessibility.src.js +3103 -0
  505. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js +132 -0
  506. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.js.map +1 -0
  507. data/vendor/assets/javascripts/highstock/modules/annotations-advanced.src.js +8230 -0
  508. data/vendor/assets/javascripts/highstock/modules/annotations.js +94 -0
  509. data/vendor/assets/javascripts/highstock/modules/annotations.js.map +1 -0
  510. data/vendor/assets/javascripts/highstock/modules/annotations.src.js +6001 -0
  511. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js +11 -0
  512. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.js.map +1 -0
  513. data/vendor/assets/javascripts/highstock/modules/arrow-symbols.src.js +225 -0
  514. data/vendor/assets/javascripts/highstock/modules/boost-canvas.js +23 -0
  515. data/vendor/assets/javascripts/highstock/modules/boost-canvas.js.map +1 -0
  516. data/vendor/assets/javascripts/highstock/modules/boost-canvas.src.js +756 -0
  517. data/vendor/assets/javascripts/highstock/modules/boost.js +65 -0
  518. data/vendor/assets/javascripts/highstock/modules/boost.js.map +1 -0
  519. data/vendor/assets/javascripts/highstock/modules/boost.src.js +3752 -0
  520. data/vendor/assets/javascripts/highstock/modules/bullet.js +14 -0
  521. data/vendor/assets/javascripts/highstock/modules/bullet.js.map +1 -0
  522. data/vendor/assets/javascripts/highstock/modules/bullet.src.js +388 -0
  523. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js +11 -0
  524. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.js.map +1 -0
  525. data/vendor/assets/javascripts/highstock/modules/current-date-indicator.src.js +127 -0
  526. data/vendor/assets/javascripts/highstock/modules/cylinder.js +14 -0
  527. data/vendor/assets/javascripts/highstock/modules/cylinder.js.map +1 -0
  528. data/vendor/assets/javascripts/highstock/modules/cylinder.src.js +413 -0
  529. data/vendor/assets/javascripts/highstock/modules/data.js +37 -0
  530. data/vendor/assets/javascripts/highstock/modules/data.js.map +1 -0
  531. data/vendor/assets/javascripts/highstock/modules/data.src.js +2565 -0
  532. data/vendor/assets/javascripts/highstock/modules/datagrouping.js +25 -0
  533. data/vendor/assets/javascripts/highstock/modules/datagrouping.js.map +1 -0
  534. data/vendor/assets/javascripts/highstock/modules/datagrouping.src.js +1140 -0
  535. data/vendor/assets/javascripts/highstock/modules/debugger.js +28 -0
  536. data/vendor/assets/javascripts/highstock/modules/debugger.js.map +1 -0
  537. data/vendor/assets/javascripts/highstock/modules/debugger.src.js +267 -0
  538. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js +15 -0
  539. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.js.map +1 -0
  540. data/vendor/assets/javascripts/highstock/modules/dependency-wheel.src.js +301 -0
  541. data/vendor/assets/javascripts/highstock/modules/drag-panes.js +18 -0
  542. data/vendor/assets/javascripts/highstock/modules/drag-panes.js.map +1 -0
  543. data/vendor/assets/javascripts/highstock/modules/drag-panes.src.js +649 -0
  544. data/vendor/assets/javascripts/highstock/modules/draggable-points.js +40 -0
  545. data/vendor/assets/javascripts/highstock/modules/draggable-points.js.map +1 -0
  546. data/vendor/assets/javascripts/highstock/modules/draggable-points.src.js +2650 -0
  547. data/vendor/assets/javascripts/highstock/modules/drilldown.js +29 -0
  548. data/vendor/assets/javascripts/highstock/modules/drilldown.js.map +1 -0
  549. data/vendor/assets/javascripts/highstock/modules/drilldown.src.js +1321 -0
  550. data/vendor/assets/javascripts/highstock/modules/export-data.js +27 -0
  551. data/vendor/assets/javascripts/highstock/modules/export-data.js.map +1 -0
  552. data/vendor/assets/javascripts/highstock/modules/export-data.src.js +1234 -0
  553. data/vendor/assets/javascripts/highstock/modules/exporting.js +35 -0
  554. data/vendor/assets/javascripts/highstock/modules/exporting.js.map +1 -0
  555. data/vendor/assets/javascripts/highstock/modules/exporting.src.js +2233 -0
  556. data/vendor/assets/javascripts/highstock/modules/full-screen.js +11 -0
  557. data/vendor/assets/javascripts/highstock/modules/full-screen.js.map +1 -0
  558. data/vendor/assets/javascripts/highstock/modules/full-screen.src.js +68 -0
  559. data/vendor/assets/javascripts/highstock/modules/funnel.js +14 -0
  560. data/vendor/assets/javascripts/highstock/modules/funnel.js.map +1 -0
  561. data/vendor/assets/javascripts/highstock/modules/funnel.src.js +576 -0
  562. data/vendor/assets/javascripts/highstock/modules/grid-axis.js +23 -0
  563. data/vendor/assets/javascripts/highstock/modules/grid-axis.js.map +1 -0
  564. data/vendor/assets/javascripts/highstock/modules/grid-axis.src.js +988 -0
  565. data/vendor/assets/javascripts/highstock/modules/heatmap.js +28 -0
  566. data/vendor/assets/javascripts/highstock/modules/heatmap.js.map +1 -0
  567. data/vendor/assets/javascripts/highstock/modules/heatmap.src.js +1731 -0
  568. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js +16 -0
  569. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.js.map +1 -0
  570. data/vendor/assets/javascripts/highstock/modules/histogram-bellcurve.src.js +570 -0
  571. data/vendor/assets/javascripts/highstock/modules/item-series.js +13 -0
  572. data/vendor/assets/javascripts/highstock/modules/item-series.js.map +1 -0
  573. data/vendor/assets/javascripts/highstock/modules/item-series.src.js +176 -0
  574. data/vendor/assets/javascripts/highstock/modules/networkgraph.js +31 -0
  575. data/vendor/assets/javascripts/highstock/modules/networkgraph.js.map +1 -0
  576. data/vendor/assets/javascripts/highstock/modules/networkgraph.src.js +1348 -0
  577. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js +13 -0
  578. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.js.map +1 -0
  579. data/vendor/assets/javascripts/highstock/modules/no-data-to-display.src.js +285 -0
  580. data/vendor/assets/javascripts/highstock/modules/offline-exporting.js +22 -0
  581. data/vendor/assets/javascripts/highstock/modules/offline-exporting.js.map +1 -0
  582. data/vendor/assets/javascripts/highstock/modules/offline-exporting.src.js +838 -0
  583. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js +13 -0
  584. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.js.map +1 -0
  585. data/vendor/assets/javascripts/highstock/modules/oldie-polyfills.src.js +150 -0
  586. data/vendor/assets/javascripts/highstock/modules/oldie.js +35 -0
  587. data/vendor/assets/javascripts/highstock/modules/oldie.js.map +1 -0
  588. data/vendor/assets/javascripts/highstock/modules/oldie.src.js +1582 -0
  589. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js +9 -0
  590. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.js.map +1 -0
  591. data/vendor/assets/javascripts/highstock/modules/overlapping-datalabels.src.js +22 -0
  592. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js +18 -0
  593. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.js.map +1 -0
  594. data/vendor/assets/javascripts/highstock/modules/parallel-coordinates.src.js +517 -0
  595. data/vendor/assets/javascripts/highstock/modules/pareto.js +14 -0
  596. data/vendor/assets/javascripts/highstock/modules/pareto.js.map +1 -0
  597. data/vendor/assets/javascripts/highstock/modules/pareto.src.js +327 -0
  598. data/vendor/assets/javascripts/highstock/modules/pathfinder.js +34 -0
  599. data/vendor/assets/javascripts/highstock/modules/pathfinder.js.map +1 -0
  600. data/vendor/assets/javascripts/highstock/modules/pathfinder.src.js +2336 -0
  601. data/vendor/assets/javascripts/highstock/modules/pattern-fill.js +21 -0
  602. data/vendor/assets/javascripts/highstock/modules/pattern-fill.js.map +1 -0
  603. data/vendor/assets/javascripts/highstock/modules/pattern-fill.src.js +634 -0
  604. data/vendor/assets/javascripts/highstock/modules/price-indicator.js +13 -0
  605. data/vendor/assets/javascripts/highstock/modules/price-indicator.js.map +1 -0
  606. data/vendor/assets/javascripts/highstock/modules/price-indicator.src.js +176 -0
  607. data/vendor/assets/javascripts/highstock/modules/sankey.js +22 -0
  608. data/vendor/assets/javascripts/highstock/modules/sankey.js.map +1 -0
  609. data/vendor/assets/javascripts/highstock/modules/sankey.src.js +911 -0
  610. data/vendor/assets/javascripts/highstock/modules/series-label.js +23 -0
  611. data/vendor/assets/javascripts/highstock/modules/series-label.js.map +1 -0
  612. data/vendor/assets/javascripts/highstock/modules/series-label.src.js +1065 -0
  613. data/vendor/assets/javascripts/highstock/modules/solid-gauge.js +15 -0
  614. data/vendor/assets/javascripts/highstock/modules/solid-gauge.js.map +1 -0
  615. data/vendor/assets/javascripts/highstock/modules/solid-gauge.src.js +510 -0
  616. data/vendor/assets/javascripts/highstock/modules/sonification.js +53 -0
  617. data/vendor/assets/javascripts/highstock/modules/sonification.js.map +1 -0
  618. data/vendor/assets/javascripts/highstock/modules/sonification.src.js +3341 -0
  619. data/vendor/assets/javascripts/highstock/modules/static-scale.js +12 -0
  620. data/vendor/assets/javascripts/highstock/modules/static-scale.js.map +1 -0
  621. data/vendor/assets/javascripts/highstock/modules/static-scale.src.js +114 -0
  622. data/vendor/assets/javascripts/highstock/modules/stock-tools.js +65 -0
  623. data/vendor/assets/javascripts/highstock/modules/stock-tools.js.map +1 -0
  624. data/vendor/assets/javascripts/highstock/modules/stock-tools.src.js +3437 -0
  625. data/vendor/assets/javascripts/highstock/modules/stock.js +151 -0
  626. data/vendor/assets/javascripts/highstock/modules/stock.js.map +1 -0
  627. data/vendor/assets/javascripts/highstock/modules/stock.src.js +10907 -0
  628. data/vendor/assets/javascripts/highstock/modules/streamgraph.js +10 -0
  629. data/vendor/assets/javascripts/highstock/modules/streamgraph.js.map +1 -0
  630. data/vendor/assets/javascripts/highstock/modules/streamgraph.src.js +158 -0
  631. data/vendor/assets/javascripts/highstock/modules/sunburst.js +52 -0
  632. data/vendor/assets/javascripts/highstock/modules/sunburst.js.map +1 -0
  633. data/vendor/assets/javascripts/highstock/modules/sunburst.src.js +3174 -0
  634. data/vendor/assets/javascripts/highstock/modules/tilemap.js +26 -0
  635. data/vendor/assets/javascripts/highstock/modules/tilemap.js.map +1 -0
  636. data/vendor/assets/javascripts/highstock/modules/tilemap.src.js +1402 -0
  637. data/vendor/assets/javascripts/highstock/modules/timeline.js +23 -0
  638. data/vendor/assets/javascripts/highstock/modules/timeline.js.map +1 -0
  639. data/vendor/assets/javascripts/highstock/modules/timeline.src.js +778 -0
  640. data/vendor/assets/javascripts/highstock/modules/treegrid.js +50 -0
  641. data/vendor/assets/javascripts/highstock/modules/treegrid.js.map +1 -0
  642. data/vendor/assets/javascripts/highstock/modules/treegrid.src.js +2917 -0
  643. data/vendor/assets/javascripts/highstock/modules/treemap.js +39 -0
  644. data/vendor/assets/javascripts/highstock/modules/treemap.js.map +1 -0
  645. data/vendor/assets/javascripts/highstock/modules/treemap.src.js +2083 -0
  646. data/vendor/assets/javascripts/highstock/modules/variable-pie.js +16 -0
  647. data/vendor/assets/javascripts/highstock/modules/variable-pie.js.map +1 -0
  648. data/vendor/assets/javascripts/highstock/modules/variable-pie.src.js +485 -0
  649. data/vendor/assets/javascripts/highstock/modules/variwide.js +15 -0
  650. data/vendor/assets/javascripts/highstock/modules/variwide.js.map +1 -0
  651. data/vendor/assets/javascripts/highstock/modules/variwide.src.js +376 -0
  652. data/vendor/assets/javascripts/highstock/modules/vector.js +13 -0
  653. data/vendor/assets/javascripts/highstock/modules/vector.js.map +1 -0
  654. data/vendor/assets/javascripts/highstock/modules/vector.src.js +381 -0
  655. data/vendor/assets/javascripts/highstock/modules/venn.js +30 -0
  656. data/vendor/assets/javascripts/highstock/modules/venn.js.map +1 -0
  657. data/vendor/assets/javascripts/highstock/modules/venn.src.js +1624 -0
  658. data/vendor/assets/javascripts/highstock/modules/windbarb.js +17 -0
  659. data/vendor/assets/javascripts/highstock/modules/windbarb.js.map +1 -0
  660. data/vendor/assets/javascripts/highstock/modules/windbarb.src.js +574 -0
  661. data/vendor/assets/javascripts/highstock/modules/wordcloud.js +25 -0
  662. data/vendor/assets/javascripts/highstock/modules/wordcloud.js.map +1 -0
  663. data/vendor/assets/javascripts/highstock/modules/wordcloud.src.js +1475 -0
  664. data/vendor/assets/javascripts/highstock/modules/xrange.js +20 -0
  665. data/vendor/assets/javascripts/highstock/modules/xrange.js.map +1 -0
  666. data/vendor/assets/javascripts/highstock/modules/xrange.src.js +788 -0
  667. data/vendor/assets/javascripts/highstock/themes/avocado.js +9 -0
  668. data/vendor/assets/javascripts/highstock/themes/avocado.js.map +1 -0
  669. data/vendor/assets/javascripts/highstock/themes/avocado.src.js +63 -0
  670. data/vendor/assets/javascripts/highstock/themes/dark-blue.js +15 -0
  671. data/vendor/assets/javascripts/highstock/themes/dark-blue.js.map +1 -0
  672. data/vendor/assets/javascripts/highstock/themes/dark-blue.src.js +285 -0
  673. data/vendor/assets/javascripts/highstock/themes/dark-green.js +15 -0
  674. data/vendor/assets/javascripts/highstock/themes/dark-green.js.map +1 -0
  675. data/vendor/assets/javascripts/highstock/themes/dark-green.src.js +287 -0
  676. data/vendor/assets/javascripts/highstock/themes/dark-unica.js +14 -0
  677. data/vendor/assets/javascripts/highstock/themes/dark-unica.js.map +1 -0
  678. data/vendor/assets/javascripts/highstock/themes/dark-unica.src.js +246 -0
  679. data/vendor/assets/javascripts/highstock/themes/gray.js +15 -0
  680. data/vendor/assets/javascripts/highstock/themes/gray.js.map +1 -0
  681. data/vendor/assets/javascripts/highstock/themes/gray.src.js +293 -0
  682. data/vendor/assets/javascripts/highstock/themes/grid-light.js +11 -0
  683. data/vendor/assets/javascripts/highstock/themes/grid-light.js.map +1 -0
  684. data/vendor/assets/javascripts/highstock/themes/grid-light.src.js +107 -0
  685. data/vendor/assets/javascripts/highstock/themes/grid.js +11 -0
  686. data/vendor/assets/javascripts/highstock/themes/grid.js.map +1 -0
  687. data/vendor/assets/javascripts/highstock/themes/grid.src.js +136 -0
  688. data/vendor/assets/javascripts/highstock/themes/sand-signika.js +11 -0
  689. data/vendor/assets/javascripts/highstock/themes/sand-signika.js.map +1 -0
  690. data/vendor/assets/javascripts/highstock/themes/sand-signika.src.js +137 -0
  691. data/vendor/assets/javascripts/highstock/themes/skies.js +11 -0
  692. data/vendor/assets/javascripts/highstock/themes/skies.js.map +1 -0
  693. data/vendor/assets/javascripts/highstock/themes/skies.src.js +126 -0
  694. data/vendor/assets/javascripts/highstock/themes/sunset.js +9 -0
  695. data/vendor/assets/javascripts/highstock/themes/sunset.js.map +1 -0
  696. data/vendor/assets/javascripts/highstock/themes/sunset.src.js +62 -0
  697. metadata +781 -0
@@ -0,0 +1,301 @@
1
+ /**
2
+ * (c) 2010-2019 Torstein Honsi
3
+ *
4
+ * License: www.highcharts.com/license
5
+ */
6
+
7
+ /**
8
+ * A valid color to be parsed and handled by Highcharts. Highcharts internally
9
+ * supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and
10
+ * rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the
11
+ * browsers and displayed correctly, but Highcharts is not able to process them
12
+ * and apply concepts like opacity and brightening.
13
+ *
14
+ * @typedef {string} Highcharts.ColorString
15
+ */
16
+
17
+ 'use strict';
18
+
19
+ import H from './Globals.js';
20
+ import './Utilities.js';
21
+
22
+ var isNumber = H.isNumber,
23
+ merge = H.merge,
24
+ pInt = H.pInt;
25
+
26
+ /**
27
+ * Handle color operations. The object methods are chainable.
28
+ *
29
+ * @private
30
+ * @class
31
+ * @name Highcharts.Color
32
+ *
33
+ * @param {Highcharts.ColorString} input
34
+ * The input color in either rbga or hex format
35
+ */
36
+ H.Color = function (input) {
37
+ // Backwards compatibility, allow instanciation without new
38
+ if (!(this instanceof H.Color)) {
39
+ return new H.Color(input);
40
+ }
41
+ // Initialize
42
+ this.init(input);
43
+ };
44
+ H.Color.prototype = {
45
+
46
+ // Collection of parsers. This can be extended from the outside by pushing
47
+ // parsers to Highcharts.Color.prototype.parsers.
48
+ parsers: [{
49
+ // RGBA color
50
+ regex: /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/, // eslint-disable-line security/detect-unsafe-regex
51
+ parse: function (result) {
52
+ return [
53
+ pInt(result[1]),
54
+ pInt(result[2]),
55
+ pInt(result[3]),
56
+ parseFloat(result[4], 10)
57
+ ];
58
+ }
59
+ }, {
60
+ // RGB color
61
+ regex:
62
+ /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
63
+ parse: function (result) {
64
+ return [pInt(result[1]), pInt(result[2]), pInt(result[3]), 1];
65
+ }
66
+ }],
67
+
68
+ // Collection of named colors. Can be extended from the outside by adding
69
+ // colors to Highcharts.Color.prototype.names.
70
+ names: {
71
+ white: '#ffffff',
72
+ black: '#000000'
73
+ },
74
+
75
+ /**
76
+ * Parse the input color to rgba array
77
+ *
78
+ * @private
79
+ * @function Highcharts.Color#init
80
+ *
81
+ * @param {Highcharts.ColorString} input
82
+ * The input color in either rbga or hex format
83
+ */
84
+ init: function (input) {
85
+ var result,
86
+ rgba,
87
+ i,
88
+ parser,
89
+ len;
90
+
91
+ this.input = input = this.names[
92
+ input && input.toLowerCase ?
93
+ input.toLowerCase() :
94
+ ''
95
+ ] || input;
96
+
97
+ // Gradients
98
+ if (input && input.stops) {
99
+ this.stops = input.stops.map(function (stop) {
100
+ return new H.Color(stop[1]);
101
+ });
102
+
103
+ // Solid colors
104
+ } else {
105
+
106
+ // Bitmasking as input[0] is not working for legacy IE.
107
+ if (input && input.charAt && input.charAt() === '#') {
108
+
109
+ len = input.length;
110
+ input = parseInt(input.substr(1), 16);
111
+
112
+ // Handle long-form, e.g. #AABBCC
113
+ if (len === 7) {
114
+
115
+ rgba = [
116
+ (input & 0xFF0000) >> 16,
117
+ (input & 0xFF00) >> 8,
118
+ (input & 0xFF),
119
+ 1
120
+ ];
121
+
122
+ // Handle short-form, e.g. #ABC
123
+ // In short form, the value is assumed to be the same
124
+ // for both nibbles for each component. e.g. #ABC = #AABBCC
125
+ } else if (len === 4) {
126
+
127
+ rgba = [
128
+ ((input & 0xF00) >> 4) | (input & 0xF00) >> 8,
129
+ ((input & 0xF0) >> 4) | (input & 0xF0),
130
+ ((input & 0xF) << 4) | (input & 0xF),
131
+ 1
132
+ ];
133
+ }
134
+ }
135
+
136
+ // Otherwise, check regex parsers
137
+ if (!rgba) {
138
+ i = this.parsers.length;
139
+ while (i-- && !rgba) {
140
+ parser = this.parsers[i];
141
+ result = parser.regex.exec(input);
142
+ if (result) {
143
+ rgba = parser.parse(result);
144
+ }
145
+ }
146
+ }
147
+ }
148
+ this.rgba = rgba || [];
149
+ },
150
+
151
+ /**
152
+ * Return the color in the specified format
153
+ *
154
+ * @function Highcharts.Color#get
155
+ *
156
+ * @param {string} format
157
+ * Possible values are 'a', 'rgb', undefined
158
+ *
159
+ * @return {Highcharts.ColorString}
160
+ * This color as a string.
161
+ */
162
+ get: function (format) {
163
+ var input = this.input,
164
+ rgba = this.rgba,
165
+ ret;
166
+
167
+ if (this.stops) {
168
+ ret = merge(input);
169
+ ret.stops = [].concat(ret.stops);
170
+ this.stops.forEach(function (stop, i) {
171
+ ret.stops[i] = [ret.stops[i][0], stop.get(format)];
172
+ });
173
+
174
+ // it's NaN if gradient colors on a column chart
175
+ } else if (rgba && isNumber(rgba[0])) {
176
+ if (format === 'rgb' || (!format && rgba[3] === 1)) {
177
+ ret = 'rgb(' + rgba[0] + ',' + rgba[1] + ',' + rgba[2] + ')';
178
+ } else if (format === 'a') {
179
+ ret = rgba[3];
180
+ } else {
181
+ ret = 'rgba(' + rgba.join(',') + ')';
182
+ }
183
+ } else {
184
+ ret = input;
185
+ }
186
+ return ret;
187
+ },
188
+
189
+ /**
190
+ * Brighten the color instance.
191
+ *
192
+ * @function Highcharts.Color#brighten
193
+ *
194
+ * @param {number} alpha
195
+ * The alpha value.
196
+ *
197
+ * @return {Highcharts.ColorString}
198
+ * This color with modifications.
199
+ */
200
+ brighten: function (alpha) {
201
+ var i,
202
+ rgba = this.rgba;
203
+
204
+ if (this.stops) {
205
+ this.stops.forEach(function (stop) {
206
+ stop.brighten(alpha);
207
+ });
208
+
209
+ } else if (isNumber(alpha) && alpha !== 0) {
210
+ for (i = 0; i < 3; i++) {
211
+ rgba[i] += pInt(alpha * 255);
212
+
213
+ if (rgba[i] < 0) {
214
+ rgba[i] = 0;
215
+ }
216
+ if (rgba[i] > 255) {
217
+ rgba[i] = 255;
218
+ }
219
+ }
220
+ }
221
+ return this;
222
+ },
223
+
224
+ /**
225
+ * Set the color's opacity to a given alpha value.
226
+ *
227
+ * @function Highcharts.Color#setOpacity
228
+ *
229
+ * @param {number} alpha
230
+ * Opacity between 0 and 1.
231
+ *
232
+ * @return {Highcharts.ColorString}
233
+ * Color with modifications.
234
+ */
235
+ setOpacity: function (alpha) {
236
+ this.rgba[3] = alpha;
237
+ return this;
238
+ },
239
+
240
+ /**
241
+ * Return an intermediate color between two colors.
242
+ *
243
+ * @function Highcharts.Color#tweenTo
244
+ *
245
+ * @param {Highcharts.Color} to
246
+ * The color object to tween to.
247
+ *
248
+ * @param {number} pos
249
+ * The intermediate position, where 0 is the from color (current
250
+ * color item), and 1 is the `to` color.
251
+ *
252
+ * @return {Highcharts.ColorString}
253
+ * The intermediate color in rgba notation.
254
+ */
255
+ tweenTo: function (to, pos) {
256
+ // Check for has alpha, because rgba colors perform worse due to lack of
257
+ // support in WebKit.
258
+ var fromRgba = this.rgba,
259
+ toRgba = to.rgba,
260
+ hasAlpha,
261
+ ret;
262
+
263
+ // Unsupported color, return to-color (#3920, #7034)
264
+ if (!toRgba.length || !fromRgba || !fromRgba.length) {
265
+ ret = to.input || 'none';
266
+
267
+ // Interpolate
268
+ } else {
269
+ hasAlpha = (toRgba[3] !== 1 || fromRgba[3] !== 1);
270
+ ret = (hasAlpha ? 'rgba(' : 'rgb(') +
271
+ Math.round(toRgba[0] + (fromRgba[0] - toRgba[0]) * (1 - pos)) +
272
+ ',' +
273
+ Math.round(toRgba[1] + (fromRgba[1] - toRgba[1]) * (1 - pos)) +
274
+ ',' +
275
+ Math.round(toRgba[2] + (fromRgba[2] - toRgba[2]) * (1 - pos)) +
276
+ (
277
+ hasAlpha ?
278
+ (
279
+ ',' +
280
+ (toRgba[3] + (fromRgba[3] - toRgba[3]) * (1 - pos))
281
+ ) :
282
+ ''
283
+ ) +
284
+ ')';
285
+ }
286
+ return ret;
287
+ }
288
+ };
289
+
290
+ /**
291
+ * Creates a color instance out of a color string.
292
+ *
293
+ * @private
294
+ * @function Highcharts.color
295
+ *
296
+ * @param {Highcharts.ColorString} input
297
+ * The input color in either rbga or hex format
298
+ */
299
+ H.color = function (input) {
300
+ return new H.Color(input);
301
+ };
@@ -0,0 +1,1125 @@
1
+ /* *
2
+ * (c) 2010-2019 Torstein Honsi
3
+ *
4
+ * License: www.highcharts.com/license
5
+ */
6
+
7
+ /**
8
+ * Adjusted width and x offset of the columns for grouping.
9
+ *
10
+ * @private
11
+ * @interface Highcharts.ColumnMetricsObject
12
+ *//**
13
+ * Width of the columns.
14
+ *
15
+ * @name Highcharts.ColumnMetricsObject#width
16
+ * @type {number}
17
+ *//**
18
+ * Offset of the columns.
19
+ *
20
+ * @name Highcharts.ColumnMetricsObject#offset
21
+ * @type {number}
22
+ */
23
+
24
+ 'use strict';
25
+
26
+ import H from './Globals.js';
27
+ import './Utilities.js';
28
+ import './Color.js';
29
+ import './Legend.js';
30
+ import './Series.js';
31
+ import './Options.js';
32
+
33
+ var animObject = H.animObject,
34
+ color = H.color,
35
+ extend = H.extend,
36
+ defined = H.defined,
37
+ isNumber = H.isNumber,
38
+ LegendSymbolMixin = H.LegendSymbolMixin,
39
+ merge = H.merge,
40
+ noop = H.noop,
41
+ pick = H.pick,
42
+ Series = H.Series,
43
+ seriesType = H.seriesType,
44
+ svg = H.svg;
45
+
46
+ /**
47
+ * The column series type.
48
+ *
49
+ * @private
50
+ * @class
51
+ * @name Highcharts.seriesTypes.column
52
+ *
53
+ * @augments Highcharts.Series
54
+ */
55
+ seriesType('column', 'line'
56
+
57
+ /**
58
+ * Column series display one column per value along an X axis.
59
+ *
60
+ * @sample {highcharts} highcharts/demo/column-basic/
61
+ * Column chart
62
+ * @sample {highstock} stock/demo/column/
63
+ * Column chart
64
+ *
65
+ * @extends plotOptions.line
66
+ * @excluding connectNulls, dashStyle, gapSize, gapUnit, linecap,
67
+ * lineWidth, marker, connectEnds, step, useOhlcData
68
+ * @product highcharts highstock
69
+ * @optionparent plotOptions.column
70
+ */
71
+ , {
72
+
73
+ /**
74
+ * The corner radius of the border surrounding each column or bar.
75
+ *
76
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
77
+ * Rounded columns
78
+ *
79
+ * @product highcharts highstock gantt
80
+ */
81
+ borderRadius: 0,
82
+
83
+ /**
84
+ * When using automatic point colors pulled from the global
85
+ * [colors](colors) or series-specific
86
+ * [plotOptions.column.colors](series.colors) collections, this option
87
+ * determines whether the chart should receive one color per series or
88
+ * one color per point.
89
+ *
90
+ * In styled mode, the `colors` or `series.colors` arrays are not
91
+ * supported, and instead this option gives the points individual color
92
+ * class names on the form `highcharts-color-{n}`.
93
+ *
94
+ * @see [series colors](#plotOptions.column.colors)
95
+ *
96
+ * @sample {highcharts} highcharts/plotoptions/column-colorbypoint-false/
97
+ * False by default
98
+ * @sample {highcharts} highcharts/plotoptions/column-colorbypoint-true/
99
+ * True
100
+ *
101
+ * @type {boolean}
102
+ * @default false
103
+ * @since 2.0
104
+ * @product highcharts highstock gantt
105
+ * @apioption plotOptions.column.colorByPoint
106
+ */
107
+
108
+ /**
109
+ * A series specific or series type specific color set to apply instead
110
+ * of the global [colors](#colors) when [colorByPoint](
111
+ * #plotOptions.column.colorByPoint) is true.
112
+ *
113
+ * @type {Array<Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject>}
114
+ * @since 3.0
115
+ * @product highcharts highstock gantt
116
+ * @apioption plotOptions.column.colors
117
+ */
118
+
119
+ /**
120
+ * When true, each column edge is rounded to its nearest pixel in order
121
+ * to render sharp on screen. In some cases, when there are a lot of
122
+ * densely packed columns, this leads to visible difference in column
123
+ * widths or distance between columns. In these cases, setting `crisp`
124
+ * to `false` may look better, even though each column is rendered
125
+ * blurry.
126
+ *
127
+ * @sample {highcharts} highcharts/plotoptions/column-crisp-false/
128
+ * Crisp is false
129
+ *
130
+ * @since 5.0.10
131
+ * @product highcharts highstock gantt
132
+ */
133
+ crisp: true,
134
+
135
+ /**
136
+ * Padding between each value groups, in x axis units.
137
+ *
138
+ * @sample {highcharts} highcharts/plotoptions/column-grouppadding-default/
139
+ * 0.2 by default
140
+ * @sample {highcharts} highcharts/plotoptions/column-grouppadding-none/
141
+ * No group padding - all columns are evenly spaced
142
+ *
143
+ * @product highcharts highstock gantt
144
+ */
145
+ groupPadding: 0.2,
146
+
147
+ /**
148
+ * Whether to group non-stacked columns or to let them render
149
+ * independent of each other. Non-grouped columns will be laid out
150
+ * individually and overlap each other.
151
+ *
152
+ * @sample {highcharts} highcharts/plotoptions/column-grouping-false/
153
+ * Grouping disabled
154
+ * @sample {highstock} highcharts/plotoptions/column-grouping-false/
155
+ * Grouping disabled
156
+ *
157
+ * @type {boolean}
158
+ * @default true
159
+ * @since 2.3.0
160
+ * @product highcharts highstock gantt
161
+ * @apioption plotOptions.column.grouping
162
+ */
163
+
164
+ /**
165
+ * @ignore-option
166
+ */
167
+ marker: null, // point options are specified in the base options
168
+
169
+ /**
170
+ * The maximum allowed pixel width for a column, translated to the
171
+ * height of a bar in a bar chart. This prevents the columns from
172
+ * becoming too wide when there is a small number of points in the
173
+ * chart.
174
+ *
175
+ * @see [pointWidth](#plotOptions.column.pointWidth)
176
+ *
177
+ * @sample {highcharts} highcharts/plotoptions/column-maxpointwidth-20/
178
+ * Limited to 50
179
+ * @sample {highstock} highcharts/plotoptions/column-maxpointwidth-20/
180
+ * Limited to 50
181
+ *
182
+ * @type {number}
183
+ * @since 4.1.8
184
+ * @product highcharts highstock gantt
185
+ * @apioption plotOptions.column.maxPointWidth
186
+ */
187
+
188
+ /**
189
+ * Padding between each column or bar, in x axis units.
190
+ *
191
+ * @sample {highcharts} highcharts/plotoptions/column-pointpadding-default/
192
+ * 0.1 by default
193
+ * @sample {highcharts} highcharts/plotoptions/column-pointpadding-025/
194
+ * 0.25
195
+ * @sample {highcharts} highcharts/plotoptions/column-pointpadding-none/
196
+ * 0 for tightly packed columns
197
+ *
198
+ * @product highcharts highstock gantt
199
+ */
200
+ pointPadding: 0.1,
201
+
202
+ /**
203
+ * A pixel value specifying a fixed width for each column or bar. When
204
+ * `null`, the width is calculated from the `pointPadding` and
205
+ * `groupPadding`.
206
+ *
207
+ * @see [maxPointWidth](#plotOptions.column.maxPointWidth)
208
+ *
209
+ * @sample {highcharts} highcharts/plotoptions/column-pointwidth-20/
210
+ * 20px wide columns regardless of chart width or the amount of
211
+ * data points
212
+ *
213
+ * @type {number}
214
+ * @since 1.2.5
215
+ * @product highcharts highstock gantt
216
+ * @apioption plotOptions.column.pointWidth
217
+ */
218
+
219
+ /**
220
+ * A pixel value specifying a fixed width for the column or bar.
221
+ * Overrides pointWidth on the series.
222
+ *
223
+ * @see [series.pointWidth](#plotOptions.column.pointWidth)
224
+ *
225
+ * @type {number}
226
+ * @default undefined
227
+ * @since 7.0.0
228
+ * @product highcharts highstock gantt
229
+ * @apioption series.column.data.pointWidth
230
+ */
231
+
232
+ /**
233
+ * The minimal height for a column or width for a bar. By default,
234
+ * 0 values are not shown. To visualize a 0 (or close to zero) point,
235
+ * set the minimal point length to a pixel value like 3\. In stacked
236
+ * column charts, minPointLength might not be respected for tightly
237
+ * packed values.
238
+ *
239
+ * @sample {highcharts} highcharts/plotoptions/column-minpointlength/
240
+ * Zero base value
241
+ * @sample {highcharts} highcharts/plotoptions/column-minpointlength-pos-and-neg/
242
+ * Positive and negative close to zero values
243
+ *
244
+ * @product highcharts highstock gantt
245
+ */
246
+ minPointLength: 0,
247
+
248
+ /**
249
+ * When the series contains less points than the crop threshold, all
250
+ * points are drawn, event if the points fall outside the visible plot
251
+ * area at the current zoom. The advantage of drawing all points
252
+ * (including markers and columns), is that animation is performed on
253
+ * updates. On the other hand, when the series contains more points than
254
+ * the crop threshold, the series data is cropped to only contain points
255
+ * that fall within the plot area. The advantage of cropping away
256
+ * invisible points is to increase performance on large series.
257
+ *
258
+ * @product highcharts highstock gantt
259
+ */
260
+ cropThreshold: 50,
261
+
262
+ /**
263
+ * The X axis range that each point is valid for. This determines the
264
+ * width of the column. On a categorized axis, the range will be 1
265
+ * by default (one category unit). On linear and datetime axes, the
266
+ * range will be computed as the distance between the two closest data
267
+ * points.
268
+ *
269
+ * The default `null` means it is computed automatically, but this
270
+ * option can be used to override the automatic value.
271
+ *
272
+ * @sample {highcharts} highcharts/plotoptions/column-pointrange/
273
+ * Set the point range to one day on a data set with one week
274
+ * between the points
275
+ *
276
+ * @type {number|null}
277
+ * @since 2.3
278
+ * @product highcharts highstock gantt
279
+ */
280
+ pointRange: null,
281
+
282
+ states: {
283
+
284
+ /**
285
+ * Options for the hovered point. These settings override the normal
286
+ * state options when a point is moused over or touched.
287
+ *
288
+ * @extends plotOptions.series.states.hover
289
+ * @excluding halo, lineWidth, lineWidthPlus, marker
290
+ * @product highcharts highstock gantt
291
+ */
292
+ hover: {
293
+
294
+ /** @ignore-option */
295
+ halo: false,
296
+
297
+ /**
298
+ * A specific border color for the hovered point. Defaults to
299
+ * inherit the normal state border color.
300
+ *
301
+ * @type {Highcharts.ColorString}
302
+ * @product highcharts gantt
303
+ * @apioption plotOptions.column.states.hover.borderColor
304
+ */
305
+
306
+ /**
307
+ * A specific color for the hovered point.
308
+ *
309
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
310
+ * @product highcharts gantt
311
+ * @apioption plotOptions.column.states.hover.color
312
+ */
313
+
314
+ /**
315
+ * How much to brighten the point on interaction. Requires the
316
+ * main color to be defined in hex or rgb(a) format.
317
+ *
318
+ * In styled mode, the hover brightening is by default replaced
319
+ * with a fill-opacity set in the `.highcharts-point:hover`
320
+ * rule.
321
+ *
322
+ * @sample {highcharts} highcharts/plotoptions/column-states-hover-brightness/
323
+ * Brighten by 0.5
324
+ *
325
+ * @product highcharts highstock gantt
326
+ */
327
+ brightness: 0.1
328
+ },
329
+
330
+ /**
331
+ * Options for the selected point. These settings override the
332
+ * normal state options when a point is selected.
333
+ *
334
+ * @extends plotOptions.series.states.select
335
+ * @excluding halo, lineWidth, lineWidthPlus, marker
336
+ * @product highcharts highstock gantt
337
+ */
338
+ select: {
339
+
340
+ /**
341
+ * A specific color for the selected point.
342
+ *
343
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
344
+ * @default #cccccc
345
+ * @product highcharts highstock gantt
346
+ */
347
+ color: '#cccccc',
348
+
349
+ /**
350
+ * A specific border color for the selected point.
351
+ *
352
+ * @type {Highcharts.ColorString}
353
+ * @default #000000
354
+ * @product highcharts highstock gantt
355
+ */
356
+ borderColor: '#000000'
357
+ }
358
+ },
359
+
360
+ dataLabels: {
361
+
362
+ /**
363
+ * @type {Highcharts.AlignType|null}
364
+ */
365
+ align: null, // auto
366
+
367
+ /**
368
+ * @type {Highcharts.VerticalAlignType|null}
369
+ */
370
+ verticalAlign: null, // auto
371
+
372
+ /**
373
+ * @type {number|null}
374
+ */
375
+ y: null
376
+ },
377
+
378
+ /**
379
+ * When this is true, the series will not cause the Y axis to cross
380
+ * the zero plane (or [threshold](#plotOptions.series.threshold) option)
381
+ * unless the data actually crosses the plane.
382
+ *
383
+ * For example, if `softThreshold` is `false`, a series of 0, 1, 2,
384
+ * 3 will make the Y axis show negative values according to the
385
+ * `minPadding` option. If `softThreshold` is `true`, the Y axis starts
386
+ * at 0.
387
+ *
388
+ * @since 4.1.9
389
+ * @product highcharts highstock
390
+ */
391
+ softThreshold: false,
392
+
393
+ // false doesn't work well: https://jsfiddle.net/highcharts/hz8fopan/14/
394
+ /** @ignore-option */
395
+ startFromThreshold: true,
396
+
397
+ stickyTracking: false,
398
+
399
+ tooltip: {
400
+ distance: 6
401
+ },
402
+
403
+ /**
404
+ * The Y axis value to serve as the base for the columns, for
405
+ * distinguishing between values above and below a threshold. If `null`,
406
+ * the columns extend from the padding Y axis minimum.
407
+ *
408
+ * @since 2.0
409
+ * @product highcharts
410
+ */
411
+ threshold: 0,
412
+
413
+ /**
414
+ * The width of the border surrounding each column or bar. Defaults to
415
+ * `1` when there is room for a border, but to `0` when the columns are
416
+ * so dense that a border would cover the next column.
417
+ *
418
+ * In styled mode, the stroke width can be set with the
419
+ * `.highcharts-point` rule.
420
+ *
421
+ * @sample {highcharts} highcharts/plotoptions/column-borderwidth/
422
+ * 2px black border
423
+ *
424
+ * @type {number}
425
+ * @default undefined
426
+ * @product highcharts highstock gantt
427
+ * @apioption plotOptions.column.borderWidth
428
+ */
429
+
430
+ /**
431
+ * The color of the border surrounding each column or bar.
432
+ *
433
+ * In styled mode, the border stroke can be set with the
434
+ * `.highcharts-point` rule.
435
+ *
436
+ * @sample {highcharts} highcharts/plotoptions/column-bordercolor/
437
+ * Dark gray border
438
+ *
439
+ * @type {Highcharts.ColorString}
440
+ * @default #ffffff
441
+ * @product highcharts highstock gantt
442
+ */
443
+ borderColor: '#ffffff'
444
+
445
+ }, /** @lends seriesTypes.column.prototype */ {
446
+ cropShoulder: 0,
447
+ // When tooltip is not shared, this series (and derivatives) requires
448
+ // direct touch/hover. KD-tree does not apply.
449
+ directTouch: true,
450
+ trackerGroups: ['group', 'dataLabelsGroup'],
451
+ // use separate negative stacks, unlike area stacks where a negative
452
+ // point is substracted from previous (#1910)
453
+ negStacks: true,
454
+
455
+ /**
456
+ * Initialize the series. Extends the basic Series.init method by
457
+ * marking other series of the same type as dirty.
458
+ *
459
+ * @private
460
+ * @function Highcharts.seriesTypes.column#init
461
+ */
462
+ init: function () {
463
+ Series.prototype.init.apply(this, arguments);
464
+
465
+ var series = this,
466
+ chart = series.chart;
467
+
468
+ // if the series is added dynamically, force redraw of other
469
+ // series affected by a new column
470
+ if (chart.hasRendered) {
471
+ chart.series.forEach(function (otherSeries) {
472
+ if (otherSeries.type === series.type) {
473
+ otherSeries.isDirty = true;
474
+ }
475
+ });
476
+ }
477
+ },
478
+
479
+ /**
480
+ * Return the width and x offset of the columns adjusted for grouping,
481
+ * groupPadding, pointPadding, pointWidth etc.
482
+ *
483
+ * @private
484
+ * @function Highcharts.seriesTypes.column#getColumnMetrics
485
+ *
486
+ * @return {Highcharts.ColumnMetricsObject}
487
+ */
488
+ getColumnMetrics: function () {
489
+
490
+ var series = this,
491
+ options = series.options,
492
+ xAxis = series.xAxis,
493
+ yAxis = series.yAxis,
494
+ reversedStacks = xAxis.options.reversedStacks,
495
+ // Keep backward compatibility: reversed xAxis had reversed
496
+ // stacks
497
+ reverseStacks = (xAxis.reversed && !reversedStacks) ||
498
+ (!xAxis.reversed && reversedStacks),
499
+ stackKey,
500
+ stackGroups = {},
501
+ columnCount = 0;
502
+
503
+ // Get the total number of column type series. This is called on
504
+ // every series. Consider moving this logic to a chart.orderStacks()
505
+ // function and call it on init, addSeries and removeSeries
506
+ if (options.grouping === false) {
507
+ columnCount = 1;
508
+ } else {
509
+ series.chart.series.forEach(function (otherSeries) {
510
+ var otherOptions = otherSeries.options,
511
+ otherYAxis = otherSeries.yAxis,
512
+ columnIndex;
513
+
514
+ if (
515
+ otherSeries.type === series.type &&
516
+ (
517
+ otherSeries.visible ||
518
+ !series.chart.options.chart.ignoreHiddenSeries
519
+ ) &&
520
+ yAxis.len === otherYAxis.len &&
521
+ yAxis.pos === otherYAxis.pos
522
+ ) { // #642, #2086
523
+ if (otherOptions.stacking) {
524
+ stackKey = otherSeries.stackKey;
525
+ if (stackGroups[stackKey] === undefined) {
526
+ stackGroups[stackKey] = columnCount++;
527
+ }
528
+ columnIndex = stackGroups[stackKey];
529
+ } else if (otherOptions.grouping !== false) { // #1162
530
+ columnIndex = columnCount++;
531
+ }
532
+ otherSeries.columnIndex = columnIndex;
533
+ }
534
+ });
535
+ }
536
+
537
+ var categoryWidth = Math.min(
538
+ Math.abs(xAxis.transA) * (
539
+ xAxis.ordinalSlope ||
540
+ options.pointRange ||
541
+ xAxis.closestPointRange ||
542
+ xAxis.tickInterval ||
543
+ 1
544
+ ), // #2610
545
+ xAxis.len // #1535
546
+ ),
547
+ groupPadding = categoryWidth * options.groupPadding,
548
+ groupWidth = categoryWidth - 2 * groupPadding,
549
+ pointOffsetWidth = groupWidth / (columnCount || 1),
550
+ pointWidth = Math.min(
551
+ options.maxPointWidth || xAxis.len,
552
+ pick(
553
+ options.pointWidth,
554
+ pointOffsetWidth * (1 - 2 * options.pointPadding)
555
+ )
556
+ ),
557
+ pointPadding = (pointOffsetWidth - pointWidth) / 2,
558
+ // #1251, #3737
559
+ colIndex = (series.columnIndex || 0) + (reverseStacks ? 1 : 0),
560
+ pointXOffset =
561
+ pointPadding +
562
+ (
563
+ groupPadding +
564
+ colIndex * pointOffsetWidth -
565
+ (categoryWidth / 2)
566
+ ) * (reverseStacks ? -1 : 1);
567
+
568
+ // Save it for reading in linked series (Error bars particularly)
569
+ series.columnMetrics = {
570
+ width: pointWidth,
571
+ offset: pointXOffset
572
+ };
573
+ return series.columnMetrics;
574
+
575
+ },
576
+
577
+ /**
578
+ * Make the columns crisp. The edges are rounded to the nearest full
579
+ * pixel.
580
+ *
581
+ * @private
582
+ * @function Highcharts.seriesTypes.column#crispCol
583
+ *
584
+ * @param {number} x
585
+ *
586
+ * @param {number} y
587
+ *
588
+ * @param {number} w
589
+ *
590
+ * @param {number} h
591
+ *
592
+ * @return {*}
593
+ */
594
+ crispCol: function (x, y, w, h) {
595
+ var chart = this.chart,
596
+ borderWidth = this.borderWidth,
597
+ xCrisp = -(borderWidth % 2 ? 0.5 : 0),
598
+ yCrisp = borderWidth % 2 ? 0.5 : 1,
599
+ right,
600
+ bottom,
601
+ fromTop;
602
+
603
+ if (chart.inverted && chart.renderer.isVML) {
604
+ yCrisp += 1;
605
+ }
606
+
607
+ // Horizontal. We need to first compute the exact right edge, then
608
+ // round it and compute the width from there.
609
+ if (this.options.crisp) {
610
+ right = Math.round(x + w) + xCrisp;
611
+ x = Math.round(x) + xCrisp;
612
+ w = right - x;
613
+ }
614
+
615
+ // Vertical
616
+ bottom = Math.round(y + h) + yCrisp;
617
+ fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656
618
+ y = Math.round(y) + yCrisp;
619
+ h = bottom - y;
620
+
621
+ // Top edges are exceptions
622
+ if (fromTop && h) { // #5146
623
+ y -= 1;
624
+ h += 1;
625
+ }
626
+
627
+ return {
628
+ x: x,
629
+ y: y,
630
+ width: w,
631
+ height: h
632
+ };
633
+ },
634
+
635
+ /**
636
+ * Translate each point to the plot area coordinate system and find
637
+ * shape positions
638
+ *
639
+ * @private
640
+ * @function Highcharts.seriesTypes.column#translate
641
+ */
642
+ translate: function () {
643
+ var series = this,
644
+ chart = series.chart,
645
+ options = series.options,
646
+ dense = series.dense =
647
+ series.closestPointRange * series.xAxis.transA < 2,
648
+ borderWidth = series.borderWidth = pick(
649
+ options.borderWidth,
650
+ dense ? 0 : 1 // #3635
651
+ ),
652
+ yAxis = series.yAxis,
653
+ threshold = options.threshold,
654
+ translatedThreshold = series.translatedThreshold =
655
+ yAxis.getThreshold(threshold),
656
+ minPointLength = pick(options.minPointLength, 5),
657
+ metrics = series.getColumnMetrics(),
658
+ seriesPointWidth = metrics.width,
659
+ // postprocessed for border width
660
+ seriesBarW = series.barW =
661
+ Math.max(seriesPointWidth, 1 + 2 * borderWidth),
662
+ seriesXOffset = series.pointXOffset = metrics.offset;
663
+
664
+ if (chart.inverted) {
665
+ translatedThreshold -= 0.5; // #3355
666
+ }
667
+
668
+ // When the pointPadding is 0, we want the columns to be packed
669
+ // tightly, so we allow individual columns to have individual sizes.
670
+ // When pointPadding is greater, we strive for equal-width columns
671
+ // (#2694).
672
+ if (options.pointPadding) {
673
+ seriesBarW = Math.ceil(seriesBarW);
674
+ }
675
+
676
+ Series.prototype.translate.apply(series);
677
+
678
+ // Record the new values
679
+ series.points.forEach(function (point) {
680
+ var yBottom = pick(point.yBottom, translatedThreshold),
681
+ safeDistance = 999 + Math.abs(yBottom),
682
+ pointWidth = seriesPointWidth,
683
+ // Don't draw too far outside plot area (#1303, #2241,
684
+ // #4264)
685
+ plotY = Math.min(
686
+ Math.max(-safeDistance, point.plotY),
687
+ yAxis.len + safeDistance
688
+ ),
689
+ barX = point.plotX + seriesXOffset,
690
+ barW = seriesBarW,
691
+ barY = Math.min(plotY, yBottom),
692
+ up,
693
+ barH = Math.max(plotY, yBottom) - barY;
694
+
695
+ // Handle options.minPointLength
696
+ if (minPointLength && Math.abs(barH) < minPointLength) {
697
+ barH = minPointLength;
698
+ up = (!yAxis.reversed && !point.negative) ||
699
+ (yAxis.reversed && point.negative);
700
+
701
+ // Reverse zeros if there's no positive value in the series
702
+ // in visible range (#7046)
703
+ if (
704
+ point.y === threshold &&
705
+ series.dataMax <= threshold &&
706
+ yAxis.min < threshold // and if there's room for it (#7311)
707
+ ) {
708
+ up = !up;
709
+ }
710
+
711
+ // If stacked...
712
+ barY = (
713
+ Math.abs(barY - translatedThreshold) > minPointLength ?
714
+ // ...keep position
715
+ yBottom - minPointLength :
716
+ // #1485, #4051
717
+ translatedThreshold - (up ? minPointLength : 0)
718
+ );
719
+ }
720
+
721
+ // Handle point.options.pointWidth
722
+ // @todo Handle grouping/stacking too. Calculate offset properly
723
+ if (defined(point.options.pointWidth)) {
724
+ pointWidth = barW = Math.ceil(point.options.pointWidth);
725
+ barX -= Math.round((pointWidth - seriesPointWidth) / 2);
726
+ }
727
+
728
+ // Cache for access in polar
729
+ point.barX = barX;
730
+ point.pointWidth = pointWidth;
731
+
732
+ // Fix the tooltip on center of grouped columns (#1216, #424,
733
+ // #3648)
734
+ point.tooltipPos = chart.inverted ?
735
+ [
736
+ yAxis.len + yAxis.pos - chart.plotLeft - plotY,
737
+ series.xAxis.len - barX - barW / 2, barH
738
+ ] :
739
+ [barX + barW / 2, plotY + yAxis.pos - chart.plotTop, barH];
740
+
741
+ // Register shape type and arguments to be used in drawPoints
742
+ // Allow shapeType defined on pointClass level
743
+ point.shapeType = point.shapeType || 'rect';
744
+ point.shapeArgs = series.crispCol.apply(
745
+ series,
746
+ point.isNull ?
747
+ // #3169, drilldown from null must have a position to work
748
+ // from #6585, dataLabel should be placed on xAxis, not
749
+ // floating in the middle of the chart
750
+ [barX, translatedThreshold, barW, 0] :
751
+ [barX, barY, barW, barH]
752
+ );
753
+ });
754
+
755
+ },
756
+
757
+ getSymbol: noop,
758
+
759
+ /**
760
+ * Use a solid rectangle like the area series types
761
+ *
762
+ * @private
763
+ * @function Highcharts.seriesTypes.column#drawLegendSymbol
764
+ *
765
+ * @param {Highcharts.Legend} legend
766
+ * The legend object
767
+ *
768
+ * @param {Highcharts.Series|Highcharts.Point} item
769
+ * The series (this) or point
770
+ */
771
+ drawLegendSymbol: LegendSymbolMixin.drawRectangle,
772
+
773
+
774
+ /**
775
+ * Columns have no graph
776
+ *
777
+ * @private
778
+ * @function Highcharts.seriesTypes.column#drawGraph
779
+ */
780
+ drawGraph: function () {
781
+ this.group[
782
+ this.dense ? 'addClass' : 'removeClass'
783
+ ]('highcharts-dense-data');
784
+ },
785
+
786
+ /**
787
+ * Get presentational attributes
788
+ *
789
+ * @private
790
+ * @function Highcharts.seriesTypes.column#pointAttribs
791
+ *
792
+ * @param {Highcharts.Point} point
793
+ *
794
+ * @param {string} state
795
+ *
796
+ * @return {Highcharts.Dictionary<any>}
797
+ */
798
+ pointAttribs: function (point, state) {
799
+ var options = this.options,
800
+ stateOptions,
801
+ ret,
802
+ p2o = this.pointAttrToOptions || {},
803
+ strokeOption = p2o.stroke || 'borderColor',
804
+ strokeWidthOption = p2o['stroke-width'] || 'borderWidth',
805
+ fill = (point && point.color) || this.color,
806
+ // set to fill when borderColor null:
807
+ stroke = (
808
+ (point && point[strokeOption]) ||
809
+ options[strokeOption] ||
810
+ this.color ||
811
+ fill
812
+ ),
813
+ strokeWidth = (point && point[strokeWidthOption]) ||
814
+ options[strokeWidthOption] || this[strokeWidthOption] || 0,
815
+ dashstyle = options.dashStyle,
816
+ zone,
817
+ brightness;
818
+
819
+ // Handle zone colors
820
+ if (point && this.zones.length) {
821
+ zone = point.getZone();
822
+ // When zones are present, don't use point.color (#4267).
823
+ // Changed order (#6527)
824
+ fill = (
825
+ point.options.color || (zone && zone.color) || this.color
826
+ );
827
+ }
828
+
829
+ // Select or hover states
830
+ if (state) {
831
+ stateOptions = merge(
832
+ options.states[state],
833
+ // #6401
834
+ point.options.states && point.options.states[state] || {}
835
+ );
836
+ brightness = stateOptions.brightness;
837
+ fill = stateOptions.color ||
838
+ (
839
+ brightness !== undefined &&
840
+ color(fill).brighten(stateOptions.brightness).get()
841
+ ) ||
842
+ fill;
843
+ stroke = stateOptions[strokeOption] || stroke;
844
+ strokeWidth = stateOptions[strokeWidthOption] || strokeWidth;
845
+ dashstyle = stateOptions.dashStyle || dashstyle;
846
+ }
847
+
848
+ ret = {
849
+ 'fill': fill,
850
+ 'stroke': stroke,
851
+ 'stroke-width': strokeWidth
852
+ };
853
+
854
+ if (dashstyle) {
855
+ ret.dashstyle = dashstyle;
856
+ }
857
+
858
+ return ret;
859
+ },
860
+
861
+ /**
862
+ * Draw the columns. For bars, the series.group is rotated, so the same
863
+ * coordinates apply for columns and bars. This method is inherited by
864
+ * scatter series.
865
+ *
866
+ * @private
867
+ * @function Highcharts.seriesTypes.column#drawPoints
868
+ */
869
+ drawPoints: function () {
870
+ var series = this,
871
+ chart = this.chart,
872
+ options = series.options,
873
+ renderer = chart.renderer,
874
+ animationLimit = options.animationLimit || 250,
875
+ shapeArgs;
876
+
877
+ // draw the columns
878
+ series.points.forEach(function (point) {
879
+ var plotY = point.plotY,
880
+ graphic = point.graphic,
881
+ verb = graphic && chart.pointCount < animationLimit ?
882
+ 'animate' : 'attr';
883
+
884
+ if (isNumber(plotY) && point.y !== null) {
885
+ shapeArgs = point.shapeArgs;
886
+
887
+ if (graphic) { // update
888
+ graphic[verb](
889
+ merge(shapeArgs)
890
+ );
891
+
892
+ } else {
893
+ point.graphic = graphic =
894
+ renderer[point.shapeType](shapeArgs)
895
+ .add(point.group || series.group);
896
+ }
897
+
898
+ // Border radius is not stylable (#6900)
899
+ if (options.borderRadius) {
900
+ graphic.attr({
901
+ r: options.borderRadius
902
+ });
903
+ }
904
+
905
+ // Presentational
906
+ if (!chart.styledMode) {
907
+ graphic[verb](series.pointAttribs(
908
+ point,
909
+ point.selected && 'select'
910
+ ))
911
+ .shadow(
912
+ options.shadow,
913
+ null,
914
+ options.stacking && !options.borderRadius
915
+ );
916
+ }
917
+
918
+ graphic.addClass(point.getClassName(), true);
919
+
920
+
921
+ } else if (graphic) {
922
+ point.graphic = graphic.destroy(); // #1269
923
+ }
924
+ });
925
+ },
926
+
927
+ /**
928
+ * Animate the column heights one by one from zero.
929
+ *
930
+ * @private
931
+ * @function Highcharts.seriesTypes.column#animate
932
+ *
933
+ * @param {boolean} init
934
+ * Whether to initialize the animation or run it
935
+ */
936
+ animate: function (init) {
937
+ var series = this,
938
+ yAxis = this.yAxis,
939
+ options = series.options,
940
+ inverted = this.chart.inverted,
941
+ attr = {},
942
+ translateProp = inverted ? 'translateX' : 'translateY',
943
+ translateStart,
944
+ translatedThreshold;
945
+
946
+ if (svg) { // VML is too slow anyway
947
+ if (init) {
948
+ attr.scaleY = 0.001;
949
+ translatedThreshold = Math.min(
950
+ yAxis.pos + yAxis.len,
951
+ Math.max(yAxis.pos, yAxis.toPixels(options.threshold))
952
+ );
953
+ if (inverted) {
954
+ attr.translateX = translatedThreshold - yAxis.len;
955
+ } else {
956
+ attr.translateY = translatedThreshold;
957
+ }
958
+
959
+ // apply finnal clipping (used in Highstock) (#7083)
960
+ // animation is done by scaleY, so cliping is for panes
961
+ if (series.clipBox) {
962
+ series.setClip();
963
+ }
964
+
965
+ series.group.attr(attr);
966
+
967
+ } else { // run the animation
968
+ translateStart = series.group.attr(translateProp);
969
+ series.group.animate(
970
+ { scaleY: 1 },
971
+ extend(animObject(series.options.animation), {
972
+ // Do the scale synchronously to ensure smooth
973
+ // updating (#5030, #7228)
974
+ step: function (val, fx) {
975
+
976
+ attr[translateProp] =
977
+ translateStart +
978
+ fx.pos * (yAxis.pos - translateStart);
979
+ series.group.attr(attr);
980
+ }
981
+ })
982
+ );
983
+
984
+ // delete this function to allow it only once
985
+ series.animate = null;
986
+ }
987
+ }
988
+ },
989
+
990
+ /**
991
+ * Remove this series from the chart
992
+ *
993
+ * @private
994
+ * @function Highcharts.seriesTypes.column#remove
995
+ */
996
+ remove: function () {
997
+ var series = this,
998
+ chart = series.chart;
999
+
1000
+ // column and bar series affects other series of the same type
1001
+ // as they are either stacked or grouped
1002
+ if (chart.hasRendered) {
1003
+ chart.series.forEach(function (otherSeries) {
1004
+ if (otherSeries.type === series.type) {
1005
+ otherSeries.isDirty = true;
1006
+ }
1007
+ });
1008
+ }
1009
+
1010
+ Series.prototype.remove.apply(series, arguments);
1011
+ }
1012
+ });
1013
+
1014
+
1015
+ /**
1016
+ * A `column` series. If the [type](#series.column.type) option is
1017
+ * not specified, it is inherited from [chart.type](#chart.type).
1018
+ *
1019
+ * @extends series,plotOptions.column
1020
+ * @excluding connectNulls, dashStyle, dataParser, dataURL, gapSize, gapUnit,
1021
+ * linecap, lineWidth, marker, connectEnds, step
1022
+ * @product highcharts highstock
1023
+ * @apioption series.column
1024
+ */
1025
+
1026
+ /**
1027
+ * An array of data points for the series. For the `column` series type,
1028
+ * points can be given in the following ways:
1029
+ *
1030
+ * 1. An array of numerical values. In this case, the numerical values will be
1031
+ * interpreted as `y` options. The `x` values will be automatically
1032
+ * calculated, either starting at 0 and incremented by 1, or from
1033
+ * `pointStart` and `pointInterval` given in the series options. If the axis
1034
+ * has categories, these will be used. Example:
1035
+ * ```js
1036
+ * data: [0, 5, 3, 5]
1037
+ * ```
1038
+ *
1039
+ * 2. An array of arrays with 2 values. In this case, the values correspond to
1040
+ * `x,y`. If the first value is a string, it is applied as the name of the
1041
+ * point, and the `x` value is inferred.
1042
+ * ```js
1043
+ * data: [
1044
+ * [0, 6],
1045
+ * [1, 2],
1046
+ * [2, 6]
1047
+ * ]
1048
+ * ```
1049
+ *
1050
+ * 3. An array of objects with named values. The following snippet shows only a
1051
+ * few settings, see the complete options set below. If the total number of
1052
+ * data points exceeds the series'
1053
+ * [turboThreshold](#series.column.turboThreshold), this option is not
1054
+ * available.
1055
+ * ```js
1056
+ * data: [{
1057
+ * x: 1,
1058
+ * y: 9,
1059
+ * name: "Point2",
1060
+ * color: "#00FF00"
1061
+ * }, {
1062
+ * x: 1,
1063
+ * y: 6,
1064
+ * name: "Point1",
1065
+ * color: "#FF00FF"
1066
+ * }]
1067
+ * ```
1068
+ *
1069
+ * @sample {highcharts} highcharts/chart/reflow-true/
1070
+ * Numerical values
1071
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
1072
+ * Arrays of numeric x and y
1073
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
1074
+ * Arrays of datetime x and y
1075
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
1076
+ * Arrays of point.name and y
1077
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
1078
+ * Config objects
1079
+ *
1080
+ * @type {Array<number|Array<(number|string),number>|*>}
1081
+ * @extends series.line.data
1082
+ * @excluding marker
1083
+ * @product highcharts highstock
1084
+ * @apioption series.column.data
1085
+ */
1086
+
1087
+ /**
1088
+ * The color of the border surrounding the column or bar.
1089
+ *
1090
+ * In styled mode, the border stroke can be set with the `.highcharts-point`
1091
+ * rule.
1092
+ *
1093
+ * @sample {highcharts} highcharts/plotoptions/column-bordercolor/
1094
+ * Dark gray border
1095
+ *
1096
+ * @type {Highcharts.ColorString}
1097
+ * @product highcharts highstock
1098
+ * @apioption series.column.data.borderColor
1099
+ */
1100
+
1101
+ /**
1102
+ * The width of the border surrounding the column or bar.
1103
+ *
1104
+ * In styled mode, the stroke width can be set with the `.highcharts-point`
1105
+ * rule.
1106
+ *
1107
+ * @sample {highcharts} highcharts/plotoptions/column-borderwidth/
1108
+ * 2px black border
1109
+ *
1110
+ * @type {number}
1111
+ * @product highcharts highstock
1112
+ * @apioption series.column.data.borderWidth
1113
+ */
1114
+
1115
+ /**
1116
+ * @excluding halo, lineWidth, lineWidthPlus, marker
1117
+ * @product highcharts highstock
1118
+ * @apioption series.column.states.hover
1119
+ */
1120
+
1121
+ /**
1122
+ * @excluding halo, lineWidth, lineWidthPlus, marker
1123
+ * @product highcharts highstock
1124
+ * @apioption series.column.states.select
1125
+ */