@amcharts/amcharts5 5.2.6 → 5.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/.internal/charts/percent/PercentSeries.d.ts +1 -1
  2. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  3. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  4. package/.internal/charts/pie/PieSeries.js +3 -2
  5. package/.internal/charts/pie/PieSeries.js.map +1 -1
  6. package/.internal/charts/stock/StockChart.d.ts +1 -0
  7. package/.internal/charts/stock/StockChart.d.ts.map +1 -1
  8. package/.internal/charts/stock/StockChart.js +34 -25
  9. package/.internal/charts/stock/StockChart.js.map +1 -1
  10. package/.internal/charts/stock/drawing/CalloutSeries.d.ts +6 -2
  11. package/.internal/charts/stock/drawing/CalloutSeries.d.ts.map +1 -1
  12. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
  13. package/.internal/charts/stock/drawing/SpriteResizer.d.ts +4 -2
  14. package/.internal/charts/stock/drawing/SpriteResizer.d.ts.map +1 -1
  15. package/.internal/charts/stock/drawing/SpriteResizer.js.map +1 -1
  16. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts +6 -6
  17. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.d.ts.map +1 -1
  18. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +1 -1
  19. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
  20. package/.internal/charts/stock/indicators/Aroon.d.ts +2 -2
  21. package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
  22. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts +2 -2
  23. package/.internal/charts/stock/indicators/AwesomeOscillator.d.ts.map +1 -1
  24. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
  25. package/.internal/charts/stock/indicators/BollingerBands.d.ts +3 -3
  26. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  27. package/.internal/charts/stock/indicators/CommodityChannelIndex.d.ts +4 -4
  28. package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
  29. package/.internal/charts/stock/indicators/Indicator.d.ts +17 -12
  30. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  31. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  32. package/.internal/charts/stock/indicators/MACD.d.ts +6 -6
  33. package/.internal/charts/stock/indicators/MACD.d.ts.map +1 -1
  34. package/.internal/charts/stock/indicators/MACD.js.map +1 -1
  35. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +2 -2
  36. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  37. package/.internal/charts/stock/indicators/MovingAverageEnvelope.d.ts +2 -2
  38. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  39. package/.internal/charts/stock/indicators/RelativeStrengthIndex.d.ts +4 -4
  40. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
  41. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts +3 -3
  42. package/.internal/charts/stock/indicators/StochasticOscillator.d.ts.map +1 -1
  43. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
  44. package/.internal/charts/stock/indicators/Volume.d.ts +2 -2
  45. package/.internal/charts/stock/indicators/Volume.d.ts.map +1 -1
  46. package/.internal/charts/stock/indicators/Volume.js.map +1 -1
  47. package/.internal/charts/stock/indicators/WilliamsR.d.ts +4 -4
  48. package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
  49. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
  50. package/.internal/charts/stock/toolbar/DateRangeSelector.js +7 -5
  51. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  52. package/.internal/charts/stock/toolbar/StockToolbarCSS.d.ts.map +1 -1
  53. package/.internal/charts/stock/toolbar/StockToolbarCSS.js +7 -2
  54. package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
  55. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
  56. package/.internal/charts/xy/axes/DateAxis.js +1 -1
  57. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  58. package/.internal/charts/xy/series/LineSeries.d.ts +16 -2
  59. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  60. package/.internal/charts/xy/series/LineSeries.js +29 -4
  61. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  62. package/.internal/core/Root.d.ts +16 -1
  63. package/.internal/core/Root.d.ts.map +1 -1
  64. package/.internal/core/Root.js +139 -6
  65. package/.internal/core/Root.js.map +1 -1
  66. package/.internal/core/render/Sprite.d.ts +11 -1
  67. package/.internal/core/render/Sprite.d.ts.map +1 -1
  68. package/.internal/core/render/Sprite.js +25 -15
  69. package/.internal/core/render/Sprite.js.map +1 -1
  70. package/.internal/core/render/backend/CanvasRenderer.d.ts +2 -0
  71. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  72. package/.internal/core/render/backend/CanvasRenderer.js +74 -15
  73. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  74. package/.internal/core/render/backend/Renderer.d.ts +1 -0
  75. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  76. package/.internal/core/render/backend/Renderer.js.map +1 -1
  77. package/.internal/plugins/exporting/Exporting.js +2 -2
  78. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  79. package/CHANGELOG.md +22 -2
  80. package/examples/javascript/flow-chord/package.json +1 -1
  81. package/examples/javascript/flow-chord-directed/package.json +1 -1
  82. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  83. package/examples/javascript/flow-sankey/package.json +1 -1
  84. package/examples/javascript/gauge/package.json +1 -1
  85. package/examples/javascript/gauge-bands/package.json +1 -1
  86. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  87. package/examples/javascript/hierarchy-pack/package.json +1 -1
  88. package/examples/javascript/hierarchy-partition/package.json +1 -1
  89. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  90. package/examples/javascript/hierarchy-tree/package.json +1 -1
  91. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  92. package/examples/javascript/json/package.json +1 -1
  93. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  94. package/examples/javascript/map-day-and-night/package.json +1 -1
  95. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  96. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  97. package/examples/javascript/map-with-bubbles/package.json +1 -1
  98. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  99. package/examples/javascript/misc-40-charts/package.json +1 -1
  100. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  101. package/examples/javascript/pie-chart/package.json +1 -1
  102. package/examples/javascript/pie-donut-chart/package.json +1 -1
  103. package/examples/javascript/pie-variable-radius/package.json +1 -1
  104. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  105. package/examples/javascript/radar-heat-map/package.json +1 -1
  106. package/examples/javascript/radar-line/package.json +1 -1
  107. package/examples/javascript/radar-time-line/package.json +1 -1
  108. package/examples/javascript/sliced-funnel/package.json +1 -1
  109. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  110. package/examples/javascript/sliced-pyramid/package.json +1 -1
  111. package/examples/javascript/stock-chart/package.json +1 -1
  112. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  113. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  114. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  115. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  116. package/examples/javascript/stock-chart-live/package.json +1 -1
  117. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  118. package/examples/javascript/venn-diagram/package.json +1 -1
  119. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  120. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  121. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  122. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  123. package/examples/javascript/xy-bubble/package.json +1 -1
  124. package/examples/javascript/xy-candlestick/package.json +1 -1
  125. package/examples/javascript/xy-clustered-column/package.json +1 -1
  126. package/examples/javascript/xy-column/package.json +1 -1
  127. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  128. package/examples/javascript/xy-data-grouping/package.json +1 -1
  129. package/examples/javascript/xy-draggable-range/package.json +1 -1
  130. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  131. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  132. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  133. package/examples/javascript/xy-line/package.json +1 -1
  134. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  135. package/examples/javascript/xy-live-data/package.json +1 -1
  136. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  137. package/examples/javascript/xy-ohlc/package.json +1 -1
  138. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  139. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  140. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  141. package/examples/javascript/xy-stacked-column/package.json +1 -1
  142. package/examples/javascript/xy-stacked-step/package.json +1 -1
  143. package/examples/javascript/xy-stock/package.json +1 -1
  144. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  145. package/examples/typescript/flow-chord/package.json +1 -1
  146. package/examples/typescript/flow-chord-directed/package.json +1 -1
  147. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  148. package/examples/typescript/flow-sankey/package.json +1 -1
  149. package/examples/typescript/gauge/package.json +1 -1
  150. package/examples/typescript/gauge-bands/package.json +1 -1
  151. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  152. package/examples/typescript/hierarchy-pack/package.json +1 -1
  153. package/examples/typescript/hierarchy-partition/package.json +1 -1
  154. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  155. package/examples/typescript/hierarchy-tree/package.json +1 -1
  156. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  157. package/examples/typescript/json/package.json +1 -1
  158. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  159. package/examples/typescript/map-day-and-night/package.json +1 -1
  160. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  161. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  162. package/examples/typescript/map-with-bubbles/package.json +1 -1
  163. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  164. package/examples/typescript/misc-40-charts/package.json +1 -1
  165. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  166. package/examples/typescript/pie-chart/package.json +1 -1
  167. package/examples/typescript/pie-donut-chart/package.json +1 -1
  168. package/examples/typescript/pie-variable-radius/package.json +1 -1
  169. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  170. package/examples/typescript/radar-heat-map/package.json +1 -1
  171. package/examples/typescript/radar-line/package.json +1 -1
  172. package/examples/typescript/radar-time-line/package.json +1 -1
  173. package/examples/typescript/sliced-funnel/package.json +1 -1
  174. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  175. package/examples/typescript/sliced-pyramid/package.json +1 -1
  176. package/examples/typescript/stock-chart/package.json +1 -1
  177. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  178. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  179. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  180. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  181. package/examples/typescript/stock-chart-live/package.json +1 -1
  182. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  183. package/examples/typescript/venn-diagram/package.json +1 -1
  184. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  185. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  186. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  187. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  188. package/examples/typescript/xy-bubble/package.json +1 -1
  189. package/examples/typescript/xy-candlestick/package.json +1 -1
  190. package/examples/typescript/xy-clustered-column/package.json +1 -1
  191. package/examples/typescript/xy-column/package.json +1 -1
  192. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  193. package/examples/typescript/xy-data-grouping/package.json +1 -1
  194. package/examples/typescript/xy-draggable-range/package.json +1 -1
  195. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  196. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  197. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  198. package/examples/typescript/xy-line/package.json +1 -1
  199. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  200. package/examples/typescript/xy-live-data/package.json +1 -1
  201. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  202. package/examples/typescript/xy-ohlc/package.json +1 -1
  203. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  204. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  205. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  206. package/examples/typescript/xy-stacked-column/package.json +1 -1
  207. package/examples/typescript/xy-stacked-step/package.json +1 -1
  208. package/examples/typescript/xy-stock/package.json +1 -1
  209. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  210. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Graphics } from \"../../../core/render/Graphics\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport { CurveFactory, line, area } from \"d3-shape\";\nimport { Template } from \"../../../core/util/Template\";\nimport { ListTemplate } from \"../../../core/util/List\";\nimport { color } from \"../../../core/util/Color\";\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\nimport type { Axis } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IPointOptions {\n}\n\nexport interface ILineSeriesDataItem extends IXYSeriesDataItem {\n}\n\nexport interface ILineSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * If set to `true` the line will connect over \"gaps\" - categories or time\n\t * intervals with no data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Gaps} for more info\n\t * @default true\n\t */\n\tconnect?: boolean;\n\n\t/**\n\t * If there are more than `autoGapCount` base time intervals (e.g. days) with\n\t * no data, the line will break and will display gap.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Auto_gaps_with_dates} for more info\n\t * @default 1.1\n\t */\n\tautoGapCount?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcurveFactory?: CurveFactory;\n}\n\nexport interface ILineSeriesPrivate extends IXYSeriesPrivate {\n}\n\n/**\n * Interface representing a [[LineSeries]] axis range.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Series_axis_ranges} for more info\n */\nexport interface ILineSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list template to use when applying line settings to the line segments covered\n\t * by an axis range.\n\t */\n\tstrokes?: ListTemplate<Graphics>;\n\n\t/**\n\t * A list template to use when applying fill settings to the fill segments covered\n\t * by an axis range.\n\t */\n\tfills?: ListTemplate<Graphics>;\n}\n\n/**\n * Used to plot line and/or area series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/} for more info\n * @important\n */\nexport class LineSeries extends XYSeries {\n\n\tdeclare public _settings: ILineSeriesSettings;\n\tdeclare public _privateSettings: ILineSeriesPrivate;\n\tdeclare public _dataItemSettings: ILineSeriesDataItem;\n\tdeclare public _axisRangeType: ILineSeriesAxisRange;\n\n\tpublic static className: string = \"LineSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([LineSeries.className]);\n\n\tprotected _endIndex!: number;\n\n\tprotected _strokeGenerator = line();\n\tprotected _fillGenerator = area();\n\n\tprotected _legendStroke?: Graphics;\n\tprotected _legendFill?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._fillGenerator.y0(function(p: number[]) {\n\t\t\treturn p[3];\n\t\t});\n\n\t\tthis._fillGenerator.x0(function(p: number[]) {\n\t\t\treturn p[2];\n\t\t});\n\n\t\tthis._fillGenerator.y1(function(p: number[]) {\n\t\t\treturn p[1];\n\t\t});\n\n\t\tthis._fillGenerator.x1(function(p: number[]) {\n\t\t\treturn p[0];\n\t\t});\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeStroke(strokes: ListTemplate<Graphics>): Graphics {\n\t\tconst stroke = this.mainContainer.children.push(strokes.make());\n\t\tstrokes.push(stroke);\n\t\treturn stroke;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all line segments in series.\n\t *\n\t * `strokes.template` can be used to set default settings for all line\n\t * segments, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly strokes: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"])\n\t\t}, [this.strokes.template]),\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeFill(fills: ListTemplate<Graphics>): Graphics {\n\t\tconst fill = this.mainContainer.children.push(fills.make());\n\t\tfills.push(fill);\n\t\treturn fill;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all segment fills in series.\n\t *\n\t * `fills.template` can be used to set default settings for all segment\n\t * fills, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly fills: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"])\n\t\t}, [this.fills.template]),\n\t);\n\n\t// custom set from data\n\tprotected _fillTemplate: Template<Graphics> | undefined;\n\tprotected _strokeTemplate: Template<Graphics> | undefined;\n\n\tpublic _updateChildren() {\n\n\t\tthis._strokeTemplate = undefined;\n\t\tthis._fillTemplate = undefined;\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tthis.strokes.template.set(\"stroke\", stroke);\n\t\t\tconst legendStroke = this._legendStroke;\n\t\t\tif (legendStroke) {\n\t\t\t\tlegendStroke.states.lookup(\"default\")!.set(\"stroke\", stroke);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tthis.fills.template.set(\"fill\", fill);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fill\", fill);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"curveFactory\")) {\n\t\t\tconst curveFactory = this.get(\"curveFactory\")!;\n\t\t\tif (curveFactory) {\n\t\t\t\tthis._strokeGenerator.curve(curveFactory);\n\t\t\t\tthis._fillGenerator.curve(curveFactory);\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty || this.isDirty(\"connect\") || this.isDirty(\"curveFactory\")) {\n\n\t\t\t\tthis.fills.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.strokes.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tlet fills = axisRange.fills;\n\t\t\t\t\tif (fills) {\n\t\t\t\t\t\tfills.each((fill) => {\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tlet strokes = axisRange.strokes;\n\t\t\t\t\tif (strokes) {\n\t\t\t\t\t\tstrokes.each((stroke) => {\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet startIndex = this.startIndex();\n\n\t\t\t\tlet strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\t\t\tlet fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\t\t\tlet strokeTemplateFound = true;\n\t\t\t\tlet fillTemplateFound = true;\n\n\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\tstrokeTemplateFound = false;\n\t\t\t\t}\n\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\tfillTemplateFound = false;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\tlet dataContext = dataItem.dataContext as any;\n\t\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\t\tif (dataContext[strokeTemplateField]) {\n\t\t\t\t\t\t\tstrokeTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\t\tif (dataContext[fillTemplateField]) {\n\t\t\t\t\t\t\tfillTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (hasValues && strokeTemplateFound && fillTemplateFound) {\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet len = this.dataItems.length;\n\t\t\t\tlet endIndex = this.endIndex();\n\n\t\t\t\tif (endIndex < len) {\n\t\t\t\t\tendIndex++;\n\t\t\t\t\tfor (let i = endIndex; i < len; i++) {\n\t\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (hasValues) {\n\t\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(startIndex > 0){\n\t\t\t\t\tstartIndex--\n\t\t\t\t}\n\n\t\t\t\tthis._endIndex = endIndex;\n\n\t\t\t\tthis._clearGraphics();\n\n\t\t\t\tthis._startSegment(0, startIndex);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\n\t\tsuper._updateChildren();\n\t}\n\n\tprotected _clearGraphics() {\n\t\tthis.strokes.clear();\n\t\tthis.fills.clear();\n\t}\n\n\tprotected _startSegment(segmentIndex: number, dataItemIndex: number) {\n\t\tlet endIndex = this._endIndex;\n\t\tlet currentEndIndex = endIndex;\n\n\t\tconst autoGapCount = this.get(\"autoGapCount\")!;\n\t\tconst connect = this.get(\"connect\");\n\n\t\tconst fill = this.makeFill(this.fills);\n\n\t\tconst fillTemplate = this._fillTemplate;\n\t\tconst originalTemplate = this.fills.template;\n\t\tif (fillTemplate && fillTemplate != originalTemplate) {\n\t\t\tfill.template = fillTemplate;\n\t\t}\n\n\t\tfill.setPrivate(\"visible\", true);\n\n\t\tconst stroke = this.makeStroke(this.strokes);\n\n\t\tconst strokeTemplate = this._strokeTemplate;\n\t\tif (strokeTemplate && strokeTemplate != this.strokes.template) {\n\t\t\tstroke.template = strokeTemplate;\n\t\t}\n\n\t\tstroke.setPrivate(\"visible\", true);\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\t\tlet baseAxis = this.get(\"baseAxis\")!;\n\n\t\tlet vcx = this.get(\"vcx\", 1);\n\t\tlet vcy = this.get(\"vcy\", 1);\n\n\t\tlet xField = this._xField;\n\t\tlet yField = this._yField;\n\n\t\tlet xOpenField = this._xOpenField;\n\t\tlet yOpenField = this._yOpenField;\n\n\t\tconst xOpenFieldValue = this.get(\"openValueXField\");\n\t\tconst yOpenFieldValue = this.get(\"openValueYField\");\n\n\t\tif (!xOpenFieldValue) {\n\t\t\txOpenField = this._xField;\n\t\t}\n\n\t\tif (!yOpenFieldValue) {\n\t\t\tyOpenField = this._yField;\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tconst basePosX = xAxis.basePosition();\n\t\tconst basePosY = yAxis.basePosition();\n\n\t\tlet baseField: string;\n\t\tif (baseAxis === yAxis) {\n\t\t\tbaseField = this._yField;\n\t\t}\n\t\telse {\n\t\t\tbaseField = this._xField;\n\t\t}\n\n\t\tconst segments: Array<Array<Array<number>>> = [];\n\t\tlet points: Array<Array<number>> = [];\n\t\tsegments.push(points);\n\n\t\tconst strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\tconst fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\tlet locationX = this.get(\"locationX\", 0.5);\n\t\tlet locationY = this.get(\"locationY\", 0.5);\n\n\t\tlet openLocationX = this.get(\"openLocationX\", locationX);\n\t\tlet openLocationY = this.get(\"openLocationY\", locationY);\n\n\t\tlet i: number;\n\n\t\tlet fillVisible = this.fills.template.get(\"visible\");\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tfillVisible = true;\n\t\t}\n\n\t\tlet getOpen = false;\n\t\tif (stacked || xOpenFieldValue || yOpenFieldValue) {\n\t\t\tgetOpen = true;\n\t\t}\n\n\t\tconst o = {\n\t\t\tpoints, segments, stacked, getOpen, basePosX, basePosY, fillVisible, xField, yField, xOpenField, yOpenField, vcx, vcy, baseAxis, xAxis, yAxis, locationX, locationY, openLocationX, openLocationY\n\t\t}\n\n\n\t\tfor (i = dataItemIndex; i < currentEndIndex; i++) {\n\t\t\tconst dataItem = this._dataItems[i];\n\n\t\t\tlet valueX = dataItem.get(xField as any);\n\t\t\tlet valueY = dataItem.get(yField as any);\n\n\t\t\tif (valueX == null || valueY == null) {\n\t\t\t\tif (!connect) {\n\t\t\t\t\tpoints = [];\n\t\t\t\t\tsegments.push(points);\n\t\t\t\t\to.points = points;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._getPoints(dataItem, o);\n\t\t\t}\n\n\t\t\tif (strokeTemplateField) {\n\t\t\t\tlet strokeTemplate = (dataItem.dataContext as any)[strokeTemplateField]\n\t\t\t\tif (strokeTemplate) {\n\t\t\t\t\tif (!(strokeTemplate instanceof Template)) {\n\t\t\t\t\t\tstrokeTemplate = Template.new(strokeTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._strokeTemplate = strokeTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tstroke.template = strokeTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fillTemplateField) {\n\t\t\t\tlet fillTemplate = (dataItem.dataContext as any)[fillTemplateField]\n\t\t\t\tif (fillTemplate) {\n\t\t\t\t\tif (!(fillTemplate instanceof Template)) {\n\t\t\t\t\t\tfillTemplate = Template.new(fillTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._fillTemplate = fillTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tfill.template = fillTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!connect) {\n\t\t\t\tlet nextItem = this.dataItems[i + 1];\n\t\t\t\tif (nextItem) {\n\t\t\t\t\tif (baseAxis.shouldGap(dataItem, nextItem, autoGapCount, baseField)) {\n\t\t\t\t\t\tpoints = [];\n\t\t\t\t\t\tsegments.push(points);\n\t\t\t\t\t\to.points = points;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\n\t\tif (i === endIndex) {\n\t\t\tthis._endLine(points, segments[0][0]);\n\t\t}\n\n\t\tif (stroke) {\n\t\t\tthis._drawStroke(stroke, segments);\n\t\t}\n\n\t\tif (fill) {\n\t\t\tthis._drawFill(fill, segments);\n\t\t}\n\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tconst container = axisRange.container;\n\t\t\tconst fills = axisRange.fills!;\n\t\t\tconst fill = this.makeFill(fills);\n\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(fill);\n\t\t\t}\n\n\t\t\tfill.setPrivate(\"visible\", true);\n\t\t\tthis._drawFill(fill, segments);\n\n\t\t\tconst strokes = axisRange.strokes!;\n\t\t\tconst stroke = this.makeStroke(strokes);\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(stroke);\n\t\t\t}\n\n\t\t\tstroke.setPrivate(\"visible\", true);\n\t\t\tthis._drawStroke(stroke, segments);\n\n\t\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t})\n\n\t\tif (currentEndIndex < endIndex) {\n\t\t\tthis._startSegment(segmentIndex + 1, currentEndIndex);\n\t\t}\n\t}\n\n\tprotected _getPoints(dataItem: DataItem<this[\"_dataItemSettings\"]>, o: { points: Array<Array<number>>, segments: number[][][], stacked: boolean | undefined, getOpen: boolean, basePosX: number, basePosY: number, fillVisible: boolean | undefined, xField: string, yField: string, xOpenField: string, yOpenField: string, vcx: number, vcy: number, baseAxis: Axis<AxisRenderer>, xAxis: Axis<AxisRenderer>, yAxis: Axis<AxisRenderer>, locationX: number, locationY: number, openLocationX: number, openLocationY: number }) {\n\t\tlet points = o.points;\n\n\t\tlet itemLocationX = dataItem.get(\"locationX\", o.locationX);\n\t\tlet itemLocationY = dataItem.get(\"locationY\", o.locationY);\n\n\t\tlet xPos = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX, o.vcx);\n\t\tlet yPos = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY, o.vcy);\n\n\t\tif (this._shouldInclude(xPos)) {\n\n\t\t\tconst iPoint = this.getPoint(xPos, yPos);\n\t\t\tconst point = [iPoint.x, iPoint.y];\n\n\t\t\tiPoint.x += this._x;\n\t\t\tiPoint.y += this._y;\n\n\t\t\tdataItem.set(\"point\", iPoint);\n\n\t\t\tif (o.fillVisible) {\n\t\t\t\tlet xPos0: number = xPos;\n\t\t\t\tlet yPos0: number = yPos;\n\n\t\t\t\tif (o.baseAxis === o.xAxis) {\n\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t}\n\t\t\t\telse if (o.baseAxis === o.yAxis) {\n\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t}\n\n\t\t\t\tif (o.getOpen) {\n\t\t\t\t\tlet valueX = dataItem.get(o.xOpenField as any);\n\t\t\t\t\tlet valueY = dataItem.get(o.yOpenField as any);\n\n\t\t\t\t\tif (valueX != null && valueY != null) {\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"openLocationX\", o.openLocationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"openLocationY\", o.openLocationY);\n\n\t\t\t\t\t\tif (o.stacked) {\n\t\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\n\t\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(xPos0)) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.yAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(yPos0)) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.xAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet closeIPoint = this.getPoint(xPos0, yPos0);\n\n\t\t\t\tpoint[2] = closeIPoint.x;\n\t\t\t\tpoint[3] = closeIPoint.y;\n\t\t\t}\n\n\t\t\tpoints.push(point);\n\t\t}\n\t}\n\n\n\tprotected _endLine(_points: Array<Array<number>>, _firstPoint: Array<number>) {\n\n\t}\n\n\tprotected _drawStroke(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._strokeGenerator.context(display as any);\n\t\t\t\t\tthis._strokeGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _drawFill(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._fillGenerator.context(display as any);\n\t\t\t\t\tthis._fillGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tsuper._processAxisRange(axisRange);\n\t\taxisRange.fills = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.fills!.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"]),\n\t\t\t}, [this.fills.template, axisRange.fills!.template]),\n\t\t);\n\n\t\taxisRange.strokes = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.strokes!.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"]),\n\t\t\t}, [this.strokes.template, axisRange.strokes!.template])\n\t\t);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\t\t\tconst marker = legendDataItem.get(\"marker\");\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\tif (markerRectangle) {\n\t\t\t\tmarkerRectangle.setPrivate(\"visible\", false);\n\t\t\t}\n\n\t\t\tmarker.set(\"background\", Rectangle.new(marker._root, {fillOpacity:0, fill:color(0x000000)}))\n\n\t\t\tconst legendStroke = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"stroke\"], interactive:false\n\t\t\t}, [this.strokes.template]));\n\n\t\t\tthis._legendStroke = legendStroke;\n\n\t\t\tconst legendFill = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"fill\"]\n\t\t\t}, [this.fills.template]));\n\n\t\t\tthis._legendFill = legendFill;\n\n\t\t\tconst disabledColor = this._root.interfaceColors.get(\"disabled\");\n\n\t\t\tlegendStroke.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\tlegendFill.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\n\t\t\tif (this.bullets.length > 0) {\n\t\t\t\tconst bulletFunction = this.bullets.getIndex(0);\n\t\t\t\tif (bulletFunction) {\n\t\t\t\t\tconst bullet = bulletFunction(marker._root, this, new DataItem(this, {}, {}));\n\t\t\t\t\tif (bullet) {\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite instanceof Graphics) {\n\t\t\t\t\t\t\tsprite.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.set(\"tooltipText\", undefined);\n\n\t\t\t\t\t\t\tmarker.children.push(sprite);\n\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"LineSeries.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/series/LineSeries.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAA8E,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAgB,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AAuEnD;;;;;GAKG;AACH;IAAgC,8BAAQ;IAAxC;QAAA,qEAuoBC;QA7nBA;;;;;WAA6B;QAE7B;;;;mBAA6B,IAAI,EAAE;WAAC;QACpC;;;;mBAA2B,IAAI,EAAE;WAAC;QAElC;;;;;WAAmC;QACnC;;;;;WAAiC;QA+BjC;;;;;;;WAOG;QACH;;;;mBAAkD,IAAI,YAAY,CACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,KAAK,EAAE;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACrG,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAFrB,CAEqB,CAC3B;WAAC;QAWF;;;;;;;WAOG;QACH;;;;mBAAgD,IAAI,YAAY,CAC/D,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,KAAK,EAAE;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aACnG,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAFnB,CAEmB,CACzB;WAAC;QAEF,uBAAuB;QACvB;;;;;WAAwD;QACxD;;;;;WAA0D;QAE1D;;;;mBAA0C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;WAAC;;IA6iBxD,CAAC;;;;;eArnBA;YACC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,UAAS,CAAW;gBAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,UAAS,CAAW;gBAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,UAAS,CAAW;gBAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,UAAS,CAAW;gBAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEH,iBAAM,SAAS,WAAE,CAAC;QACnB,CAAC;;IAED;;OAEG;;;;;eACH,UAAkB,OAA+B;YAChD,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,OAAO,MAAM,CAAC;QACf,CAAC;;IAiBD;;OAEG;;;;;eACH,UAAgB,KAA6B;YAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACb,CAAC;;;;;;eAuBD;YAEC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAE/B,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC5C,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;gBACxC,IAAI,YAAY,EAAE;oBACjB,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBAC7D;aACD;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACtC,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;gBACpC,IAAI,UAAU,EAAE;oBACf,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBACvD;aACD;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;gBACjC,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;gBAC/C,IAAI,YAAY,EAAE;oBACjB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;iBACxC;aACD;YAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBAEzL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;wBACpB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAA;oBAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,IAAI;wBACtB,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAA;oBAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,SAAS;wBAC9B,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;wBAC5B,IAAI,KAAK,EAAE;4BACV,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI;gCACf,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BACnC,CAAC,CAAC,CAAA;yBACF;wBAED,IAAI,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;wBAChC,IAAI,OAAO,EAAE;4BACZ,OAAO,CAAC,IAAI,CAAC,UAAC,MAAM;gCACnB,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BACrC,CAAC,CAAC,CAAA;yBACF;oBACF,CAAC,CAAC,CAAA;oBAEF,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAEnC,IAAI,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACrE,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAEjE,IAAI,mBAAmB,GAAG,IAAI,CAAC;oBAC/B,IAAI,iBAAiB,GAAG,IAAI,CAAC;oBAE7B,IAAI,mBAAmB,EAAE;wBACxB,mBAAmB,GAAG,KAAK,CAAC;qBAC5B;oBACD,IAAI,iBAAiB,EAAE;wBACtB,iBAAiB,GAAG,KAAK,CAAC;qBAC1B;4CAEQ,CAAC;wBACT,IAAI,QAAQ,GAAG,OAAK,SAAS,CAAC,CAAC,CAAC,CAAC;wBACjC,IAAI,SAAS,GAAG,IAAI,CAAC;wBACrB,IAAI,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;wBAC9C,IAAI,mBAAmB,EAAE;4BACxB,IAAI,WAAW,CAAC,mBAAmB,CAAC,EAAE;gCACrC,mBAAmB,GAAG,IAAI,CAAC;6BAC3B;yBACD;wBACD,IAAI,iBAAiB,EAAE;4BACtB,IAAI,WAAW,CAAC,iBAAiB,CAAC,EAAE;gCACnC,iBAAiB,GAAG,IAAI,CAAC;6BACzB;yBACD;wBAED,MAAM,CAAC,IAAI,CAAC,OAAK,YAAY,EAAE,UAAC,KAAK;4BACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAY,CAAC,CAAC,EAAE;gCAChD,SAAS,GAAG,KAAK,CAAC;6BAClB;wBACF,CAAC,CAAC,CAAA;wBACF,IAAI,SAAS,IAAI,mBAAmB,IAAI,iBAAiB,EAAE;4BAC1D,UAAU,GAAG,CAAC,CAAC;;yBAEf;;;oBAvBF,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;8CAA/B,CAAC;;;qBAwBT;oBAED,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAE/B,IAAI,QAAQ,GAAG,GAAG,EAAE;wBACnB,QAAQ,EAAE,CAAC;gDACF,CAAC;4BACT,IAAI,QAAQ,GAAG,OAAK,SAAS,CAAC,CAAC,CAAC,CAAC;4BACjC,IAAI,SAAS,GAAG,IAAI,CAAC;4BACrB,MAAM,CAAC,IAAI,CAAC,OAAK,YAAY,EAAE,UAAC,KAAK;gCACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAY,CAAC,CAAC,EAAE;oCAChD,SAAS,GAAG,KAAK,CAAC;iCAClB;4BACF,CAAC,CAAC,CAAA;4BACF,IAAI,SAAS,EAAE;gCACd,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;;6BAEjB;;;wBAXF,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;kDAA1B,CAAC;;;yBAYT;qBACD;oBACD,IAAI,UAAU,GAAG,CAAC,EAAE;wBACnB,UAAU,EAAE,CAAA;qBACZ;oBAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;oBAE1B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;iBAClC;aACD;iBACI;gBACJ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACrB;YAED,iBAAM,eAAe,WAAE,CAAC;QACzB,CAAC;;;;;;eAED;YACC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;;;;;;eAED,UAAwB,YAAoB,EAAE,aAAqB;YAAnE,iBA2MC;YA1MA,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,IAAI,eAAe,GAAG,QAAQ,CAAC;YAE/B,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;YAC/C,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACxC,IAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7C,IAAI,YAAY,IAAI,YAAY,IAAI,gBAAgB,EAAE;gBACrD,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;aAC7B;YAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEjC,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7C,IAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YAC5C,IAAI,cAAc,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC9D,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;aACjC;YAED,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAErC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAE7B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAE1B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YAClC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YAElC,IAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACpD,IAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAEpD,IAAI,CAAC,eAAe,EAAE;gBACrB,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;aAC1B;YAED,IAAI,CAAC,eAAe,EAAE;gBACrB,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;aAC1B;YAED,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YACtC,IAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAEtC,IAAI,SAAiB,CAAC;YACtB,IAAI,QAAQ,KAAK,KAAK,EAAE;gBACvB,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;aACzB;iBACI;gBACJ,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;aACzB;YAED,IAAM,QAAQ,GAAgC,EAAE,CAAC;YACjD,IAAI,MAAM,GAAyB,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEtB,IAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACvE,IAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAEnE,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAE3C,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACzD,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAEzD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAE/C,IAAI,CAAS,CAAC;YAEd,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,WAAW,GAAG,IAAI,CAAC;aACnB;YAED,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,IAAI,eAAe,IAAI,eAAe,EAAE;gBAClD,OAAO,GAAG,IAAI,CAAC;aACf;YAED,IAAM,CAAC,GAAG;gBACT,MAAM,QAAA;gBAAE,QAAQ,UAAA;gBAAE,OAAO,SAAA;gBAAE,OAAO,SAAA;gBAAE,QAAQ,UAAA;gBAAE,QAAQ,UAAA;gBAAE,WAAW,aAAA;gBAAE,MAAM,QAAA;gBAAE,MAAM,QAAA;gBAAE,UAAU,YAAA;gBAAE,UAAU,YAAA;gBAAE,GAAG,KAAA;gBAAE,GAAG,KAAA;gBAAE,QAAQ,UAAA;gBAAE,KAAK,OAAA;gBAAE,KAAK,OAAA;gBAAE,SAAS,WAAA;gBAAE,SAAS,WAAA;gBAAE,aAAa,eAAA;gBAAE,aAAa,eAAA;gBAAE,WAAW,aAAA;aAC9M,CAAA;YAGD,KAAK,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEpC,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAa,CAAC,CAAC;gBACzC,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAa,CAAC,CAAC;gBAEzC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;oBACrC,IAAI,CAAC,OAAO,EAAE;wBACb,MAAM,GAAG,EAAE,CAAC;wBACZ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;qBAClB;iBACD;qBACI;oBACJ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;iBAC7B;gBAED,IAAI,mBAAmB,EAAE;oBACxB,IAAI,gBAAc,GAAI,QAAQ,CAAC,WAAmB,CAAC,mBAAmB,CAAC,CAAA;oBACvE,IAAI,gBAAc,EAAE;wBACnB,IAAI,CAAC,CAAC,gBAAc,YAAY,QAAQ,CAAC,EAAE;4BAC1C,gBAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,gBAAc,CAAC,CAAC;yBAC9C;wBAED,IAAI,CAAC,eAAe,GAAG,gBAAc,CAAC;wBACtC,IAAI,CAAC,GAAG,aAAa,EAAE;4BACtB,eAAe,GAAG,CAAC,CAAC;4BACpB,MAAM;yBACN;6BACI;4BACJ,MAAM,CAAC,QAAQ,GAAG,gBAAc,CAAC;yBACjC;qBACD;iBACD;gBAED,IAAI,iBAAiB,EAAE;oBACtB,IAAI,cAAY,GAAI,QAAQ,CAAC,WAAmB,CAAC,iBAAiB,CAAC,CAAA;oBACnE,IAAI,cAAY,EAAE;wBACjB,IAAI,CAAC,CAAC,cAAY,YAAY,QAAQ,CAAC,EAAE;4BACxC,cAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAY,CAAC,CAAC;yBAC1C;wBAED,IAAI,CAAC,aAAa,GAAG,cAAY,CAAC;wBAClC,IAAI,CAAC,GAAG,aAAa,EAAE;4BACtB,eAAe,GAAG,CAAC,CAAC;4BACpB,MAAM;yBACN;6BACI;4BACJ,IAAI,CAAC,QAAQ,GAAG,cAAY,CAAC;yBAC7B;qBACD;iBACD;gBAED,IAAI,CAAC,OAAO,EAAE;oBACb,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrC,IAAI,QAAQ,EAAE;wBACb,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE;4BACpE,MAAM,GAAG,EAAE,CAAC;4BACZ,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACtB,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;yBAClB;qBACD;iBACD;aACD;YAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9C,IAAI,CAAC,KAAK,QAAQ,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;YAED,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aACnC;YAED,IAAI,IAAI,EAAE;gBACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC/B;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,SAAS;gBAC9B,IAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;gBACtC,IAAM,KAAK,GAAG,SAAS,CAAC,KAAM,CAAC;gBAC/B,IAAM,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAElC,IAAI,SAAS,EAAE;oBACd,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACjC,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE/B,IAAM,OAAO,GAAG,SAAS,CAAC,OAAQ,CAAC;gBACnC,IAAM,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,SAAS,EAAE;oBACd,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAChC;gBAED,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACnC,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAEnC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAA;YAEF,IAAI,eAAe,GAAG,QAAQ,EAAE;gBAC/B,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;aACtD;QACF,CAAC;;;;;;eAED,UAAqB,QAA6C,EAAE,CAAgd;YACnhB,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAEtB,IAAI,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAE3D,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAClF,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAElF,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBAE9B,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEnC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAEpB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAE9B,IAAI,CAAC,CAAC,WAAW,EAAE;oBAClB,IAAI,KAAK,GAAW,IAAI,CAAC;oBACzB,IAAI,KAAK,GAAW,IAAI,CAAC;oBAEzB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE;wBAC3B,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;qBACnB;yBACI,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK,EAAE;wBAChC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;qBACnB;oBAED,IAAI,CAAC,CAAC,OAAO,EAAE;wBACd,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAiB,CAAC,CAAC;wBAC/C,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAiB,CAAC,CAAC;wBAE/C,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;4BACrC,IAAI,eAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;4BACnE,IAAI,eAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;4BAEnE,IAAI,CAAC,CAAC,OAAO,EAAE;gCACd,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;gCACjD,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;gCAEjD,IAAI,YAAY,EAAE;oCACjB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,eAAa,EAAG,YAAY,CAAC,SAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oCAC7H,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wCACvB,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;qCACnB;iCACD;qCACI;oCACJ,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,EAAE;wCAC3B,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;qCACnB;yCACI;wCACJ,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,eAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;qCACnF;iCACD;gCAED,IAAI,YAAY,EAAE;oCACjB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,eAAa,EAAG,YAAY,CAAC,SAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oCAC7H,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wCACvB,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;qCACnB;iCACD;qCACI;oCACJ,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,QAAQ,EAAE;wCAC3B,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;qCACnB;yCACI;wCACJ,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,eAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;qCACnF;iCACD;6BACD;iCACI;gCACJ,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,eAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gCACnF,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,eAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;6BACnF;yBACD;qBACD;oBAED,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBAE9C,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;oBACzB,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;iBACzB;gBAED,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,EAAE;oBACtB,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEpB,IAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;oBAEjC,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEpB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE;wBACnH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;qBAC5B;iBACD;qBACI;oBACJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACnB;aACD;QACF,CAAC;;;;;;eAGD,UAAmB,OAA6B,EAAE,WAA0B;QAE5E,CAAC;;;;;;eAED,UAAsB,QAAkB,EAAE,QAAsB;YAAhE,iBASC;YARA,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;oBAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAC,OAAO;wBAC7B,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;wBAC9C,KAAI,CAAC,gBAAgB,CAAC,OAA6B,CAAC,CAAC;oBACtD,CAAC,CAAC,CAAA;gBACH,CAAC,CAAC,CAAA;aACF;QACF,CAAC;;;;;;eAED,UAAoB,QAAkB,EAAE,QAAsB;YAA9D,iBASC;YARA,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,UAAC,OAAO;oBAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAC,OAAO;wBAC7B,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;wBAC5C,KAAI,CAAC,cAAc,CAAC,OAA6B,CAAC,CAAC;oBACpD,CAAC,CAAC,CAAA;gBACH,CAAC,CAAC,CAAA;aACF;QACF,CAAC;;;;;;eAED,UAA4B,SAAiC;YAA7D,iBAeC;YAdA,iBAAM,iBAAiB,YAAC,SAAS,CAAC,CAAC;YACnC,SAAS,CAAC,KAAK,GAAG,IAAI,YAAY,CACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,KAAK,EAAE;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,KAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;aACvG,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAM,CAAC,QAAQ,CAAC,CAAC,EAF9C,CAE8C,CACpD,CAAC;YAEF,SAAS,CAAC,OAAO,GAAG,IAAI,YAAY,CACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,cAAM,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,KAAK,EAAE;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC3G,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAAC,CAAC,EAFlD,CAEkD,CACxD,CAAC;QACH,CAAC;;IAED;;OAEG;;;;;eACH,UAA0B,SAA+C;YAExE,IAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAElD,IAAI,cAAc,EAAE;gBACnB,IAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5C,IAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC9D,IAAI,eAAe,EAAE;oBACpB,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;iBAC7C;gBAED,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;gBAEhG,IAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACrE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK;iBAC/E,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE7B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;gBAElC,IAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACnE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;iBACzD,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;gBAE9B,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAEjE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACvF,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAErF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,IAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAChD,IAAI,cAAc,EAAE;wBACnB,IAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC9E,IAAI,MAAM,EAAE;4BACX,IAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACpC,IAAI,MAAM,YAAY,QAAQ,EAAE;gCAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;6BACjF;4BAED,IAAI,MAAM,EAAE;gCACX,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gCAErC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAC7B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;6BACjE;yBACD;qBACD;iBACD;aACD;QACF,CAAC;;IA/nBD;;;;eAAkC,YAAY;OAAC;IAC/C;;;;eAA0C,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;OAAC;IA+nB9F,iBAAC;CAAA,AAvoBD,CAAgC,QAAQ,GAuoBvC;SAvoBY,UAAU","sourcesContent":["import type { Axis } from \"../axes/Axis\";\nimport type { AxisRenderer } from \"../axes/AxisRenderer\";\n\nimport { XYSeries, IXYSeriesPrivate, IXYSeriesSettings, IXYSeriesDataItem, IXYSeriesAxisRange } from \"./XYSeries\";\nimport { Graphics } from \"../../../core/render/Graphics\";\nimport { CurveFactory, line, area } from \"d3-shape\";\nimport { Template } from \"../../../core/util/Template\";\nimport { ListTemplate } from \"../../../core/util/List\";\nimport { color } from \"../../../core/util/Color\";\nimport { DataItem } from \"../../../core/render/Component\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\n\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IPointOptions {\n}\n\nexport interface ILineSeriesDataItem extends IXYSeriesDataItem {\n}\n\nexport interface ILineSeriesSettings extends IXYSeriesSettings {\n\n\t/**\n\t * If set to `true` the line will connect over \"gaps\" - categories or time\n\t * intervals with no data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Gaps} for more info\n\t * @default true\n\t */\n\tconnect?: boolean;\n\n\t/**\n\t * If there are more than `autoGapCount` base time intervals (e.g. days) with\n\t * no data, the line will break and will display gap.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/#Auto_gaps_with_dates} for more info\n\t * @default 1.1\n\t */\n\tautoGapCount?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tcurveFactory?: CurveFactory;\n\n\t/**\n\t * Allows simplifying the line with many points.\n\t *\n\t * If set, the series will skip points that are closer than X pixels to each\n\t * other.\n\t *\n\t * With many data points, this allows having smoother, less cluttered lines.\n\t *\n\t * @default 0\n\t * @since 5.2.7\n\t */\n\tminDistance?: number;\n\n}\n\nexport interface ILineSeriesPrivate extends IXYSeriesPrivate {\n}\n\n/**\n * Interface representing a [[LineSeries]] axis range.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/#Series_axis_ranges} for more info\n */\nexport interface ILineSeriesAxisRange extends IXYSeriesAxisRange {\n\n\t/**\n\t * A list template to use when applying line settings to the line segments covered\n\t * by an axis range.\n\t */\n\tstrokes?: ListTemplate<Graphics>;\n\n\t/**\n\t * A list template to use when applying fill settings to the fill segments covered\n\t * by an axis range.\n\t */\n\tfills?: ListTemplate<Graphics>;\n}\n\n/**\n * Used to plot line and/or area series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/series/line-series/} for more info\n * @important\n */\nexport class LineSeries extends XYSeries {\n\n\tdeclare public _settings: ILineSeriesSettings;\n\tdeclare public _privateSettings: ILineSeriesPrivate;\n\tdeclare public _dataItemSettings: ILineSeriesDataItem;\n\tdeclare public _axisRangeType: ILineSeriesAxisRange;\n\n\tpublic static className: string = \"LineSeries\";\n\tpublic static classNames: Array<string> = XYSeries.classNames.concat([LineSeries.className]);\n\n\tprotected _endIndex!: number;\n\n\tprotected _strokeGenerator = line();\n\tprotected _fillGenerator = area();\n\n\tprotected _legendStroke?: Graphics;\n\tprotected _legendFill?: Graphics;\n\n\tprotected _afterNew() {\n\t\tthis._fillGenerator.y0(function(p: number[]) {\n\t\t\treturn p[3];\n\t\t});\n\n\t\tthis._fillGenerator.x0(function(p: number[]) {\n\t\t\treturn p[2];\n\t\t});\n\n\t\tthis._fillGenerator.y1(function(p: number[]) {\n\t\t\treturn p[1];\n\t\t});\n\n\t\tthis._fillGenerator.x1(function(p: number[]) {\n\t\t\treturn p[0];\n\t\t});\n\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeStroke(strokes: ListTemplate<Graphics>): Graphics {\n\t\tconst stroke = this.mainContainer.children.push(strokes.make());\n\t\tstrokes.push(stroke);\n\t\treturn stroke;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all line segments in series.\n\t *\n\t * `strokes.template` can be used to set default settings for all line\n\t * segments, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly strokes: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"])\n\t\t}, [this.strokes.template]),\n\t);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeFill(fills: ListTemplate<Graphics>): Graphics {\n\t\tconst fill = this.mainContainer.children.push(fills.make());\n\t\tfills.push(fill);\n\t\treturn fill;\n\t}\n\n\t/**\n\t * A [[TemplateList]] of all segment fills in series.\n\t *\n\t * `fills.template` can be used to set default settings for all segment\n\t * fills, or to change on existing ones.\n\t *\n\t * @default new ListTemplate<Graphics>\n\t */\n\tpublic readonly fills: ListTemplate<Graphics> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Graphics._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.strokes.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"])\n\t\t}, [this.fills.template]),\n\t);\n\n\t// custom set from data\n\tprotected _fillTemplate: Template<Graphics> | undefined;\n\tprotected _strokeTemplate: Template<Graphics> | undefined;\n\n\tprotected _previousPoint: Array<number> = [0, 0, 0, 0];\n\n\tpublic _updateChildren() {\n\n\t\tthis._strokeTemplate = undefined;\n\t\tthis._fillTemplate = undefined;\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\n\t\tif (this.isDirty(\"stroke\")) {\n\t\t\tconst stroke = this.get(\"stroke\");\n\t\t\tthis.strokes.template.set(\"stroke\", stroke);\n\t\t\tconst legendStroke = this._legendStroke;\n\t\t\tif (legendStroke) {\n\t\t\t\tlegendStroke.states.lookup(\"default\")!.set(\"stroke\", stroke);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"fill\")) {\n\t\t\tconst fill = this.get(\"fill\");\n\t\t\tthis.fills.template.set(\"fill\", fill);\n\t\t\tconst legendFill = this._legendFill;\n\t\t\tif (legendFill) {\n\t\t\t\tlegendFill.states.lookup(\"default\")!.set(\"fill\", fill);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"curveFactory\")) {\n\t\t\tconst curveFactory = this.get(\"curveFactory\")!;\n\t\t\tif (curveFactory) {\n\t\t\t\tthis._strokeGenerator.curve(curveFactory);\n\t\t\t\tthis._fillGenerator.curve(curveFactory);\n\t\t\t}\n\t\t}\n\n\t\tif (xAxis.inited && yAxis.inited) {\n\t\t\tif (this._axesDirty || this._valuesDirty || this._stackDirty || this.isDirty(\"vcx\") || this.isDirty(\"vcy\") || this._sizeDirty || this.isDirty(\"connect\") || this.isDirty(\"curveFactory\")) {\n\n\t\t\t\tthis.fills.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.strokes.each((fill) => {\n\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t})\n\n\t\t\t\tthis.axisRanges.each((axisRange) => {\n\t\t\t\t\tlet fills = axisRange.fills;\n\t\t\t\t\tif (fills) {\n\t\t\t\t\t\tfills.each((fill) => {\n\t\t\t\t\t\t\tfill.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tlet strokes = axisRange.strokes;\n\t\t\t\t\tif (strokes) {\n\t\t\t\t\t\tstrokes.each((stroke) => {\n\t\t\t\t\t\t\tstroke.setPrivate(\"visible\", false);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\tlet startIndex = this.startIndex();\n\n\t\t\t\tlet strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\t\t\tlet fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\t\t\tlet strokeTemplateFound = true;\n\t\t\t\tlet fillTemplateFound = true;\n\n\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\tstrokeTemplateFound = false;\n\t\t\t\t}\n\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\tfillTemplateFound = false;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\tlet dataContext = dataItem.dataContext as any;\n\t\t\t\t\tif (strokeTemplateField) {\n\t\t\t\t\t\tif (dataContext[strokeTemplateField]) {\n\t\t\t\t\t\t\tstrokeTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (fillTemplateField) {\n\t\t\t\t\t\tif (dataContext[fillTemplateField]) {\n\t\t\t\t\t\t\tfillTemplateFound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (hasValues && strokeTemplateFound && fillTemplateFound) {\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet len = this.dataItems.length;\n\t\t\t\tlet endIndex = this.endIndex();\n\n\t\t\t\tif (endIndex < len) {\n\t\t\t\t\tendIndex++;\n\t\t\t\t\tfor (let i = endIndex; i < len; i++) {\n\t\t\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\t\t\tlet hasValues = true;\n\t\t\t\t\t\t$array.each(this._valueFields, (field) => {\n\t\t\t\t\t\t\tif (!$type.isNumber(dataItem.get(field as any))) {\n\t\t\t\t\t\t\t\thasValues = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tif (hasValues) {\n\t\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (startIndex > 0) {\n\t\t\t\t\tstartIndex--\n\t\t\t\t}\n\n\t\t\t\tthis._endIndex = endIndex;\n\n\t\t\t\tthis._clearGraphics();\n\t\t\t\tthis._startSegment(0, startIndex);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis._skipped = true;\n\t\t}\n\n\t\tsuper._updateChildren();\n\t}\n\n\tprotected _clearGraphics() {\n\t\tthis.strokes.clear();\n\t\tthis.fills.clear();\n\t}\n\n\tprotected _startSegment(segmentIndex: number, dataItemIndex: number) {\n\t\tlet endIndex = this._endIndex;\n\t\tlet currentEndIndex = endIndex;\n\n\t\tconst autoGapCount = this.get(\"autoGapCount\")!;\n\t\tconst connect = this.get(\"connect\");\n\n\t\tconst fill = this.makeFill(this.fills);\n\n\t\tconst fillTemplate = this._fillTemplate;\n\t\tconst originalTemplate = this.fills.template;\n\t\tif (fillTemplate && fillTemplate != originalTemplate) {\n\t\t\tfill.template = fillTemplate;\n\t\t}\n\n\t\tfill.setPrivate(\"visible\", true);\n\n\t\tconst stroke = this.makeStroke(this.strokes);\n\n\t\tconst strokeTemplate = this._strokeTemplate;\n\t\tif (strokeTemplate && strokeTemplate != this.strokes.template) {\n\t\t\tstroke.template = strokeTemplate;\n\t\t}\n\n\t\tstroke.setPrivate(\"visible\", true);\n\n\t\tlet xAxis = this.get(\"xAxis\");\n\t\tlet yAxis = this.get(\"yAxis\");\n\t\tlet baseAxis = this.get(\"baseAxis\")!;\n\n\t\tlet vcx = this.get(\"vcx\", 1);\n\t\tlet vcy = this.get(\"vcy\", 1);\n\n\t\tlet xField = this._xField;\n\t\tlet yField = this._yField;\n\n\t\tlet xOpenField = this._xOpenField;\n\t\tlet yOpenField = this._yOpenField;\n\n\t\tconst xOpenFieldValue = this.get(\"openValueXField\");\n\t\tconst yOpenFieldValue = this.get(\"openValueYField\");\n\n\t\tif (!xOpenFieldValue) {\n\t\t\txOpenField = this._xField;\n\t\t}\n\n\t\tif (!yOpenFieldValue) {\n\t\t\tyOpenField = this._yField;\n\t\t}\n\n\t\tconst stacked = this.get(\"stacked\");\n\n\t\tconst basePosX = xAxis.basePosition();\n\t\tconst basePosY = yAxis.basePosition();\n\n\t\tlet baseField: string;\n\t\tif (baseAxis === yAxis) {\n\t\t\tbaseField = this._yField;\n\t\t}\n\t\telse {\n\t\t\tbaseField = this._xField;\n\t\t}\n\n\t\tconst segments: Array<Array<Array<number>>> = [];\n\t\tlet points: Array<Array<number>> = [];\n\t\tsegments.push(points);\n\n\t\tconst strokeTemplateField = this.strokes.template.get(\"templateField\");\n\t\tconst fillTemplateField = this.fills.template.get(\"templateField\");\n\n\t\tlet locationX = this.get(\"locationX\", 0.5);\n\t\tlet locationY = this.get(\"locationY\", 0.5);\n\n\t\tlet openLocationX = this.get(\"openLocationX\", locationX);\n\t\tlet openLocationY = this.get(\"openLocationY\", locationY);\n\n\t\tconst minDistance = this.get(\"minDistance\", 0);\n\n\t\tlet i: number;\n\n\t\tlet fillVisible = this.fills.template.get(\"visible\");\n\t\tif (this.axisRanges.length > 0) {\n\t\t\tfillVisible = true;\n\t\t}\n\n\t\tlet getOpen = false;\n\t\tif (stacked || xOpenFieldValue || yOpenFieldValue) {\n\t\t\tgetOpen = true;\n\t\t}\n\n\t\tconst o = {\n\t\t\tpoints, segments, stacked, getOpen, basePosX, basePosY, fillVisible, xField, yField, xOpenField, yOpenField, vcx, vcy, baseAxis, xAxis, yAxis, locationX, locationY, openLocationX, openLocationY, minDistance\n\t\t}\n\n\n\t\tfor (i = dataItemIndex; i < currentEndIndex; i++) {\n\t\t\tconst dataItem = this._dataItems[i];\n\n\t\t\tlet valueX = dataItem.get(xField as any);\n\t\t\tlet valueY = dataItem.get(yField as any);\n\n\t\t\tif (valueX == null || valueY == null) {\n\t\t\t\tif (!connect) {\n\t\t\t\t\tpoints = [];\n\t\t\t\t\tsegments.push(points);\n\t\t\t\t\to.points = points;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis._getPoints(dataItem, o);\n\t\t\t}\n\n\t\t\tif (strokeTemplateField) {\n\t\t\t\tlet strokeTemplate = (dataItem.dataContext as any)[strokeTemplateField]\n\t\t\t\tif (strokeTemplate) {\n\t\t\t\t\tif (!(strokeTemplate instanceof Template)) {\n\t\t\t\t\t\tstrokeTemplate = Template.new(strokeTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._strokeTemplate = strokeTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tstroke.template = strokeTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fillTemplateField) {\n\t\t\t\tlet fillTemplate = (dataItem.dataContext as any)[fillTemplateField]\n\t\t\t\tif (fillTemplate) {\n\t\t\t\t\tif (!(fillTemplate instanceof Template)) {\n\t\t\t\t\t\tfillTemplate = Template.new(fillTemplate);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._fillTemplate = fillTemplate;\n\t\t\t\t\tif (i > dataItemIndex) {\n\t\t\t\t\t\tcurrentEndIndex = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tfill.template = fillTemplate;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!connect) {\n\t\t\t\tlet nextItem = this.dataItems[i + 1];\n\t\t\t\tif (nextItem) {\n\t\t\t\t\tif (baseAxis.shouldGap(dataItem, nextItem, autoGapCount, baseField)) {\n\t\t\t\t\t\tpoints = [];\n\t\t\t\t\t\tsegments.push(points);\n\t\t\t\t\t\to.points = points;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\n\t\tif (i === endIndex) {\n\t\t\tthis._endLine(points, segments[0][0]);\n\t\t}\n\n\t\tif (stroke) {\n\t\t\tthis._drawStroke(stroke, segments);\n\t\t}\n\n\t\tif (fill) {\n\t\t\tthis._drawFill(fill, segments);\n\t\t}\n\n\t\tthis.axisRanges.each((axisRange) => {\n\t\t\tconst container = axisRange.container;\n\t\t\tconst fills = axisRange.fills!;\n\t\t\tconst fill = this.makeFill(fills);\n\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(fill);\n\t\t\t}\n\n\t\t\tfill.setPrivate(\"visible\", true);\n\t\t\tthis._drawFill(fill, segments);\n\n\t\t\tconst strokes = axisRange.strokes!;\n\t\t\tconst stroke = this.makeStroke(strokes);\n\t\t\tif (container) {\n\t\t\t\tcontainer.children.push(stroke);\n\t\t\t}\n\n\t\t\tstroke.setPrivate(\"visible\", true);\n\t\t\tthis._drawStroke(stroke, segments);\n\n\t\t\tfill.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t\tstroke.setRaw(\"userData\", [dataItemIndex, i]);\n\t\t})\n\n\t\tif (currentEndIndex < endIndex) {\n\t\t\tthis._startSegment(segmentIndex + 1, currentEndIndex);\n\t\t}\n\t}\n\n\tprotected _getPoints(dataItem: DataItem<this[\"_dataItemSettings\"]>, o: { points: Array<Array<number>>, segments: number[][][], stacked: boolean | undefined, getOpen: boolean, basePosX: number, basePosY: number, fillVisible: boolean | undefined, xField: string, yField: string, xOpenField: string, yOpenField: string, vcx: number, vcy: number, baseAxis: Axis<AxisRenderer>, xAxis: Axis<AxisRenderer>, yAxis: Axis<AxisRenderer>, locationX: number, locationY: number, openLocationX: number, openLocationY: number, minDistance: number }) {\n\t\tlet points = o.points;\n\n\t\tlet itemLocationX = dataItem.get(\"locationX\", o.locationX);\n\t\tlet itemLocationY = dataItem.get(\"locationY\", o.locationY);\n\n\t\tlet xPos = o.xAxis.getDataItemPositionX(dataItem, o.xField, itemLocationX, o.vcx);\n\t\tlet yPos = o.yAxis.getDataItemPositionY(dataItem, o.yField, itemLocationY, o.vcy);\n\n\t\tif (this._shouldInclude(xPos)) {\n\n\t\t\tconst iPoint = this.getPoint(xPos, yPos);\n\t\t\tconst point = [iPoint.x, iPoint.y];\n\n\t\t\tiPoint.x += this._x;\n\t\t\tiPoint.y += this._y;\n\n\t\t\tdataItem.set(\"point\", iPoint);\n\n\t\t\tif (o.fillVisible) {\n\t\t\t\tlet xPos0: number = xPos;\n\t\t\t\tlet yPos0: number = yPos;\n\n\t\t\t\tif (o.baseAxis === o.xAxis) {\n\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t}\n\t\t\t\telse if (o.baseAxis === o.yAxis) {\n\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t}\n\n\t\t\t\tif (o.getOpen) {\n\t\t\t\t\tlet valueX = dataItem.get(o.xOpenField as any);\n\t\t\t\t\tlet valueY = dataItem.get(o.yOpenField as any);\n\n\t\t\t\t\tif (valueX != null && valueY != null) {\n\t\t\t\t\t\tlet itemLocationX = dataItem.get(\"openLocationX\", o.openLocationX);\n\t\t\t\t\t\tlet itemLocationY = dataItem.get(\"openLocationY\", o.openLocationY);\n\n\t\t\t\t\t\tif (o.stacked) {\n\t\t\t\t\t\t\tlet stackToItemX = dataItem.get(\"stackToItemX\")!;\n\t\t\t\t\t\t\tlet stackToItemY = dataItem.get(\"stackToItemY\")!;\n\n\t\t\t\t\t\t\tif (stackToItemX) {\n\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(stackToItemX, o.xField, itemLocationX, (stackToItemX.component as XYSeries).get(\"vcx\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(xPos0)) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.yAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\txPos0 = o.basePosX;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (stackToItemY) {\n\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(stackToItemY, o.yField, itemLocationY, (stackToItemY.component as XYSeries).get(\"vcy\"));\n\t\t\t\t\t\t\t\tif ($type.isNaN(yPos0)) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (o.xAxis === o.baseAxis) {\n\t\t\t\t\t\t\t\t\tyPos0 = o.basePosY;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\txPos0 = o.xAxis.getDataItemPositionX(dataItem, o.xOpenField, itemLocationX, o.vcx);\n\t\t\t\t\t\t\tyPos0 = o.yAxis.getDataItemPositionY(dataItem, o.yOpenField, itemLocationY, o.vcy);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet closeIPoint = this.getPoint(xPos0, yPos0);\n\n\t\t\t\tpoint[2] = closeIPoint.x;\n\t\t\t\tpoint[3] = closeIPoint.y;\n\t\t\t}\n\n\t\t\tif (o.minDistance > 0) {\n\t\t\t\tconst p0 = point[0];\n\t\t\t\tconst p1 = point[1];\n\t\t\t\tconst p2 = point[2];\n\t\t\t\tconst p3 = point[3];\n\n\t\t\t\tconst prev = this._previousPoint;\n\n\t\t\t\tconst pp0 = prev[0];\n\t\t\t\tconst pp1 = prev[1];\n\t\t\t\tconst pp2 = prev[2];\n\t\t\t\tconst pp3 = prev[3];\n\n\t\t\t\tif (Math.hypot(p0 - pp0, p1 - pp1) > o.minDistance || (p2 && p3 && Math.hypot(p2 - pp2, p3 - pp3) > o.minDistance)) {\n\t\t\t\t\tpoints.push(point);\n\t\t\t\t\tthis._previousPoint = point;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpoints.push(point);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tprotected _endLine(_points: Array<Array<number>>, _firstPoint: Array<number>) {\n\n\t}\n\n\tprotected _drawStroke(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._strokeGenerator.context(display as any);\n\t\t\t\t\tthis._strokeGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _drawFill(graphics: Graphics, segments: number[][][]) {\n\t\tif (graphics.get(\"visible\")) {\n\t\t\tgraphics.set(\"draw\", (display) => {\n\t\t\t\t$array.each(segments, (segment) => {\n\t\t\t\t\tthis._fillGenerator.context(display as any);\n\t\t\t\t\tthis._fillGenerator(segment as [number, number][]);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _processAxisRange(axisRange: this[\"_axisRangeType\"]) {\n\t\tsuper._processAxisRange(axisRange);\n\t\taxisRange.fills = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.fills!.template.get(\"themeTags\", []), [\"line\", \"series\", \"fill\"]),\n\t\t\t}, [this.fills.template, axisRange.fills!.template]),\n\t\t);\n\n\t\taxisRange.strokes = new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Graphics._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(axisRange.strokes!.template.get(\"themeTags\", []), [\"line\", \"series\", \"stroke\"]),\n\t\t\t}, [this.strokes.template, axisRange.strokes!.template])\n\t\t);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic createLegendMarker(_dataItem?: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tconst legendDataItem = this.get(\"legendDataItem\");\n\n\t\tif (legendDataItem) {\n\t\t\tconst marker = legendDataItem.get(\"marker\");\n\n\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\tif (markerRectangle) {\n\t\t\t\tmarkerRectangle.setPrivate(\"visible\", false);\n\t\t\t}\n\n\t\t\tmarker.set(\"background\", Rectangle.new(marker._root, { fillOpacity: 0, fill: color(0x000000) }))\n\n\t\t\tconst legendStroke = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"stroke\"], interactive: false\n\t\t\t}, [this.strokes.template]));\n\n\t\t\tthis._legendStroke = legendStroke;\n\n\t\t\tconst legendFill = marker.children.push(Graphics._new(marker._root, {\n\t\t\t\tthemeTags: [\"line\", \"series\", \"legend\", \"marker\", \"fill\"]\n\t\t\t}, [this.fills.template]));\n\n\t\t\tthis._legendFill = legendFill;\n\n\t\t\tconst disabledColor = this._root.interfaceColors.get(\"disabled\");\n\n\t\t\tlegendStroke.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\tlegendFill.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\n\t\t\tif (this.bullets.length > 0) {\n\t\t\t\tconst bulletFunction = this.bullets.getIndex(0);\n\t\t\t\tif (bulletFunction) {\n\t\t\t\t\tconst bullet = bulletFunction(marker._root, this, new DataItem(this, {}, {}));\n\t\t\t\t\tif (bullet) {\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\t\tif (sprite instanceof Graphics) {\n\t\t\t\t\t\t\tsprite.states.create(\"disabled\", { fill: disabledColor, stroke: disabledColor });\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (sprite) {\n\t\t\t\t\t\t\tsprite.set(\"tooltipText\", undefined);\n\n\t\t\t\t\t\t\tmarker.children.push(sprite);\n\t\t\t\t\t\t\tsprite.setAll({ x: marker.width() / 2, y: marker.height() / 2 });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import type { IAnimation } from "./util/Animation";
2
2
  import type { Entity } from "./util/Entity";
3
3
  import type { Sprite } from "./render/Sprite";
4
- import type { Text } from "./render/Text";
5
4
  import type { Theme } from "./Theme";
6
5
  import type { IPoint } from "./util/IPoint";
7
6
  import type { IRenderer } from "./render/backend/Renderer";
8
7
  import type { Timezone } from "./util/Timezone";
9
8
  import { Container } from "./render/Container";
9
+ import { Text } from "./render/Text";
10
10
  import { VerticalLayout } from "./render/VerticalLayout";
11
11
  import { IDisposer } from "./util/Disposer";
12
12
  import { InterfaceColors } from "./util/InterfaceColors";
@@ -150,6 +150,7 @@ export declare class Root implements IDisposer {
150
150
  protected _focusElementDirty: boolean;
151
151
  protected _focusElementContainer: HTMLDivElement | undefined;
152
152
  protected _focusedSprite: Sprite | undefined;
153
+ protected _isShift: boolean | undefined;
153
154
  protected _keyboardDragPoint: IPoint | undefined;
154
155
  protected _tooltipElementContainer: HTMLDivElement | undefined;
155
156
  protected _readerAlertElement: HTMLDivElement | undefined;
@@ -193,6 +194,7 @@ export declare class Root implements IDisposer {
193
194
  * by calling root element's `resize()` method.
194
195
  */
195
196
  autoResize: boolean;
197
+ protected _fontHash: string;
196
198
  protected _isDisposed: boolean;
197
199
  protected _disposers: Array<IDisposer>;
198
200
  protected _resizeSensorDisposer?: IDisposer;
@@ -270,9 +272,11 @@ export declare class Root implements IDisposer {
270
272
  _decorateFocusElement(target: Sprite, focusElement?: HTMLDivElement): void;
271
273
  _makeFocusElement(index: number, target: Sprite): void;
272
274
  _removeFocusElement(target: Sprite): void;
275
+ _hideFocusElement(target: Sprite): void;
273
276
  protected _moveFocusElement(index: number, target: Sprite): void;
274
277
  protected _positionFocusElement(target: Sprite): void;
275
278
  protected _handleFocus(ev: FocusEvent, index: number): void;
279
+ protected _focusNext(el: HTMLDivElement, direction: 1 | -1): void;
276
280
  protected _handleBlur(ev: FocusEvent, _index: number): void;
277
281
  /**
278
282
  * @ignore
@@ -305,6 +309,9 @@ export declare class Root implements IDisposer {
305
309
  * @ignore
306
310
  */
307
311
  addDisposer<T extends IDisposer>(disposer: T): T;
312
+ protected _updateComputedStyles(): boolean;
313
+ protected _checkComputedStyles(): void;
314
+ protected _invalidateLabelBounds(target: Sprite): void;
308
315
  /**
309
316
  * To all the clever heads out there. Yes, we did not make any attempts to
310
317
  * scramble this.
@@ -320,6 +327,14 @@ export declare class Root implements IDisposer {
320
327
  */
321
328
  protected _hasLicense(): boolean;
322
329
  _licenseApplied(): void;
330
+ /**
331
+ * @ignore
332
+ */
333
+ get debugGhostView(): boolean;
334
+ /**
335
+ * @ignore
336
+ */
337
+ set debugGhostView(value: boolean);
323
338
  }
324
339
  export {};
325
340
  //# sourceMappingURL=Root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Root.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../../src/.internal/core/Root.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Container } from "./render/Container";
2
+ import { Text } from "./render/Text";
2
3
  import { HorizontalLayout } from "./render/HorizontalLayout";
3
4
  import { VerticalLayout } from "./render/VerticalLayout";
4
5
  import { GridLayout } from "./render/GridLayout";
@@ -23,6 +24,7 @@ import * as $order from "./util/Order";
23
24
  import * as $array from "./util/Array";
24
25
  import * as $object from "./util/Object";
25
26
  import * as $utils from "./util/Utils";
27
+ import * as $type from "./util/Type";
26
28
  import en from "../../locales/en";
27
29
  function rAF(fps, callback) {
28
30
  if (fps == null) {
@@ -300,6 +302,12 @@ var Root = /** @class */ (function () {
300
302
  writable: true,
301
303
  value: void 0
302
304
  });
305
+ Object.defineProperty(this, "_isShift", {
306
+ enumerable: true,
307
+ configurable: true,
308
+ writable: true,
309
+ value: void 0
310
+ });
303
311
  Object.defineProperty(this, "_keyboardDragPoint", {
304
312
  enumerable: true,
305
313
  configurable: true,
@@ -393,6 +401,12 @@ var Root = /** @class */ (function () {
393
401
  writable: true,
394
402
  value: true
395
403
  });
404
+ Object.defineProperty(this, "_fontHash", {
405
+ enumerable: true,
406
+ configurable: true,
407
+ writable: true,
408
+ value: ""
409
+ });
396
410
  Object.defineProperty(this, "_isDisposed", {
397
411
  enumerable: true,
398
412
  configurable: true,
@@ -450,6 +464,7 @@ var Root = /** @class */ (function () {
450
464
  inner.style.height = "100%";
451
465
  dom.appendChild(inner);
452
466
  this._inner = inner;
467
+ this._updateComputedStyles();
453
468
  registry.rootElements.push(this);
454
469
  }
455
470
  Object.defineProperty(Root, "new", {
@@ -611,6 +626,16 @@ var Root = /** @class */ (function () {
611
626
  // Add keyboard events for accessibility, e.g. simulating drag with arrow
612
627
  // keys and click with ENTER
613
628
  if ($utils.supports("keyboardevents")) {
629
+ this._disposers.push($utils.addEventListener(window, "keydown", function (ev) {
630
+ if (ev.keyCode == 16) {
631
+ _this._isShift = true;
632
+ }
633
+ }));
634
+ this._disposers.push($utils.addEventListener(window, "keyup", function (ev) {
635
+ if (ev.keyCode == 16) {
636
+ _this._isShift = false;
637
+ }
638
+ }));
614
639
  this._disposers.push($utils.addEventListener(focusElementContainer, "keydown", function (ev) {
615
640
  var focusedSprite = _this._focusedSprite;
616
641
  if (focusedSprite) {
@@ -918,6 +943,7 @@ var Root = /** @class */ (function () {
918
943
  timestamp: currentTime,
919
944
  });
920
945
  }
946
+ this._checkComputedStyles();
921
947
  this._runTickers(currentTime);
922
948
  this._runAnimations(currentTime);
923
949
  this._runDirties();
@@ -1380,13 +1406,24 @@ var Root = /** @class */ (function () {
1380
1406
  configurable: true,
1381
1407
  writable: true,
1382
1408
  value: function (target) {
1383
- // Init
1384
- var container = this._focusElementContainer;
1409
+ $array.remove(this._tabindexes, target);
1385
1410
  var focusElement = target.getPrivate("focusElement");
1386
- container.removeChild(focusElement.dom);
1387
- $array.each(focusElement.disposers, function (x) {
1388
- x.dispose();
1389
- });
1411
+ if (focusElement) {
1412
+ var container = this._focusElementContainer;
1413
+ container.removeChild(focusElement.dom);
1414
+ $array.each(focusElement.disposers, function (x) {
1415
+ x.dispose();
1416
+ });
1417
+ }
1418
+ }
1419
+ });
1420
+ Object.defineProperty(Root.prototype, "_hideFocusElement", {
1421
+ enumerable: false,
1422
+ configurable: true,
1423
+ writable: true,
1424
+ value: function (target) {
1425
+ var focusElement = target.getPrivate("focusElement");
1426
+ focusElement.dom.style.display = "none";
1390
1427
  }
1391
1428
  });
1392
1429
  Object.defineProperty(Root.prototype, "_moveFocusElement", {
@@ -1432,6 +1469,11 @@ var Root = /** @class */ (function () {
1432
1469
  value: function (ev, index) {
1433
1470
  // Get element
1434
1471
  var focused = this._tabindexes[index];
1472
+ // Jump over hidden elements
1473
+ if (!focused.isVisibleDeep()) {
1474
+ this._focusNext(ev.target, this._isShift ? -1 : 1);
1475
+ return;
1476
+ }
1435
1477
  // Size and position
1436
1478
  this._positionFocusElement(focused);
1437
1479
  //this._decorateFocusElement(focused);
@@ -1445,6 +1487,36 @@ var Root = /** @class */ (function () {
1445
1487
  }
1446
1488
  }
1447
1489
  });
1490
+ Object.defineProperty(Root.prototype, "_focusNext", {
1491
+ enumerable: false,
1492
+ configurable: true,
1493
+ writable: true,
1494
+ value: function (el, direction) {
1495
+ var focusableElements = Array.from(document.querySelectorAll([
1496
+ 'a[href]',
1497
+ 'area[href]',
1498
+ 'button:not([disabled])',
1499
+ 'details',
1500
+ 'input:not([disabled])',
1501
+ 'iframe:not([disabled])',
1502
+ 'select:not([disabled])',
1503
+ 'textarea:not([disabled])',
1504
+ '[contentEditable=""]',
1505
+ '[contentEditable="true"]',
1506
+ '[contentEditable="TRUE"]',
1507
+ '[tabindex]:not([tabindex^="-"])',
1508
+ //':not([disabled])'
1509
+ ].join(',')));
1510
+ var index = focusableElements.indexOf(el) + direction;
1511
+ if (index < 0) {
1512
+ index = focusableElements.length - 1;
1513
+ }
1514
+ else if (index >= focusableElements.length) {
1515
+ index = 0;
1516
+ }
1517
+ focusableElements[index].focus();
1518
+ }
1519
+ });
1448
1520
  Object.defineProperty(Root.prototype, "_handleBlur", {
1449
1521
  enumerable: false,
1450
1522
  configurable: true,
@@ -1585,6 +1657,51 @@ var Root = /** @class */ (function () {
1585
1657
  return disposer;
1586
1658
  }
1587
1659
  });
1660
+ Object.defineProperty(Root.prototype, "_updateComputedStyles", {
1661
+ enumerable: false,
1662
+ configurable: true,
1663
+ writable: true,
1664
+ value: function () {
1665
+ var styles = window.getComputedStyle(this.dom);
1666
+ var fontHash = "";
1667
+ $object.each(styles, function (key, val) {
1668
+ if ($type.isString(key) && key.match(/^font/)) {
1669
+ fontHash += val;
1670
+ }
1671
+ });
1672
+ var changed = fontHash != this._fontHash;
1673
+ if (changed) {
1674
+ this._fontHash = fontHash;
1675
+ }
1676
+ return changed;
1677
+ }
1678
+ });
1679
+ Object.defineProperty(Root.prototype, "_checkComputedStyles", {
1680
+ enumerable: false,
1681
+ configurable: true,
1682
+ writable: true,
1683
+ value: function () {
1684
+ if (this._updateComputedStyles()) {
1685
+ this._invalidateLabelBounds(this.container);
1686
+ }
1687
+ }
1688
+ });
1689
+ Object.defineProperty(Root.prototype, "_invalidateLabelBounds", {
1690
+ enumerable: false,
1691
+ configurable: true,
1692
+ writable: true,
1693
+ value: function (target) {
1694
+ var _this = this;
1695
+ if (target instanceof Container) {
1696
+ target.children.each(function (child) {
1697
+ _this._invalidateLabelBounds(child);
1698
+ });
1699
+ }
1700
+ else if (target instanceof Text) {
1701
+ target.markDirtyBounds();
1702
+ }
1703
+ }
1704
+ });
1588
1705
  /**
1589
1706
  * To all the clever heads out there. Yes, we did not make any attempts to
1590
1707
  * scramble this.
@@ -1621,6 +1738,22 @@ var Root = /** @class */ (function () {
1621
1738
  }
1622
1739
  }
1623
1740
  });
1741
+ Object.defineProperty(Root.prototype, "debugGhostView", {
1742
+ /**
1743
+ * @ignore
1744
+ */
1745
+ get: function () {
1746
+ return this._renderer.debugGhostView;
1747
+ },
1748
+ /**
1749
+ * @ignore
1750
+ */
1751
+ set: function (value) {
1752
+ this._renderer.debugGhostView = value;
1753
+ },
1754
+ enumerable: false,
1755
+ configurable: true
1756
+ });
1624
1757
  return Root;
1625
1758
  }());
1626
1759
  export { Root };