@amcharts/amcharts5 5.3.16 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/.internal/charts/flow/ArcDiagram.d.ts +86 -0
  2. package/.internal/charts/flow/ArcDiagram.d.ts.map +1 -0
  3. package/.internal/charts/flow/ArcDiagram.js +161 -0
  4. package/.internal/charts/flow/ArcDiagram.js.map +1 -0
  5. package/.internal/charts/flow/ArcDiagramLink.d.ts +40 -0
  6. package/.internal/charts/flow/ArcDiagramLink.d.ts.map +1 -0
  7. package/.internal/charts/flow/ArcDiagramLink.js +130 -0
  8. package/.internal/charts/flow/ArcDiagramLink.js.map +1 -0
  9. package/.internal/charts/flow/ArcDiagramNodes.d.ts +60 -0
  10. package/.internal/charts/flow/ArcDiagramNodes.d.ts.map +1 -0
  11. package/.internal/charts/flow/ArcDiagramNodes.js +96 -0
  12. package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -0
  13. package/.internal/charts/flow/Chord.d.ts +0 -9
  14. package/.internal/charts/flow/Chord.d.ts.map +1 -1
  15. package/.internal/charts/flow/Chord.js +0 -10
  16. package/.internal/charts/flow/Chord.js.map +1 -1
  17. package/.internal/charts/flow/ChordNodes.d.ts +9 -0
  18. package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
  19. package/.internal/charts/flow/ChordNodes.js +23 -2
  20. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  21. package/.internal/charts/flow/Flow.js +1 -0
  22. package/.internal/charts/flow/Flow.js.map +1 -1
  23. package/.internal/charts/flow/FlowDefaultTheme.d.ts.map +1 -1
  24. package/.internal/charts/flow/FlowDefaultTheme.js +51 -0
  25. package/.internal/charts/flow/FlowDefaultTheme.js.map +1 -1
  26. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  27. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  28. package/.internal/charts/hierarchy/HierarchyDefaultTheme.d.ts.map +1 -1
  29. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +45 -0
  30. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  31. package/.internal/charts/hierarchy/Partition.d.ts +1 -1
  32. package/.internal/charts/hierarchy/Partition.js +1 -1
  33. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  34. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +117 -0
  35. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -0
  36. package/.internal/charts/hierarchy/VoronoiTreemap.js +176 -0
  37. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -0
  38. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts.map +1 -1
  39. package/.internal/charts/stock/toolbar/DateRangeSelector.js +8 -2
  40. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  41. package/.internal/charts/xy/XYChart.js +2 -2
  42. package/.internal/charts/xy/XYChart.js.map +1 -1
  43. package/.internal/charts/xy/axes/Axis.d.ts +4 -3
  44. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  45. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  46. package/.internal/charts/xy/axes/AxisBullet.d.ts +1 -0
  47. package/.internal/charts/xy/axes/AxisBullet.d.ts.map +1 -1
  48. package/.internal/charts/xy/axes/AxisBullet.js +12 -0
  49. package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
  50. package/.internal/charts/xy/axes/CategoryAxis.d.ts +1 -1
  51. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  52. package/.internal/charts/xy/axes/CategoryAxis.js +1 -1
  53. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  54. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts +1 -1
  55. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
  56. package/.internal/charts/xy/axes/CategoryDateAxis.js +1 -1
  57. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  58. package/.internal/charts/xy/axes/DateAxis.d.ts +10 -5
  59. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  60. package/.internal/charts/xy/axes/DateAxis.js +11 -4
  61. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  62. package/.internal/charts/xy/axes/DurationAxis.d.ts +1 -1
  63. package/.internal/charts/xy/axes/DurationAxis.d.ts.map +1 -1
  64. package/.internal/charts/xy/axes/DurationAxis.js +1 -1
  65. package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
  66. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  67. package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -1
  68. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  69. package/.internal/charts/xy/axes/ValueAxis.js +1 -1
  70. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  71. package/.internal/core/Classes.d.ts +10 -0
  72. package/.internal/core/Classes.d.ts.map +1 -1
  73. package/.internal/core/Classes.js.map +1 -1
  74. package/.internal/core/Registry.d.ts.map +1 -1
  75. package/.internal/core/Registry.js +1 -1
  76. package/.internal/core/Registry.js.map +1 -1
  77. package/.internal/core/Root.d.ts +25 -0
  78. package/.internal/core/Root.d.ts.map +1 -1
  79. package/.internal/core/Root.js +11 -1
  80. package/.internal/core/Root.js.map +1 -1
  81. package/.internal/core/render/Label.d.ts +2 -0
  82. package/.internal/core/render/Label.d.ts.map +1 -1
  83. package/.internal/core/render/Label.js.map +1 -1
  84. package/.internal/core/render/Polygon.d.ts +52 -0
  85. package/.internal/core/render/Polygon.d.ts.map +1 -0
  86. package/.internal/core/render/Polygon.js +133 -0
  87. package/.internal/core/render/Polygon.js.map +1 -0
  88. package/.internal/core/render/Sprite.d.ts.map +1 -1
  89. package/.internal/core/render/Sprite.js +7 -2
  90. package/.internal/core/render/Sprite.js.map +1 -1
  91. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  92. package/.internal/core/render/backend/CanvasRenderer.js +2 -1
  93. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  94. package/.internal/core/util/Entity.js.map +1 -1
  95. package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
  96. package/.internal/plugins/exporting/ExportingMenu.js +11 -6
  97. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  98. package/.internal/plugins/json/Json.d.ts.map +1 -1
  99. package/.internal/plugins/json/Json.js +37 -21
  100. package/.internal/plugins/json/Json.js.map +1 -1
  101. package/.internal/themes/AnimatedTheme.d.ts.map +1 -1
  102. package/.internal/themes/AnimatedTheme.js +2 -0
  103. package/.internal/themes/AnimatedTheme.js.map +1 -1
  104. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  105. package/.internal/themes/DefaultTheme.js +3 -0
  106. package/.internal/themes/DefaultTheme.js.map +1 -1
  107. package/CHANGELOG.md +31 -0
  108. package/examples/javascript/flow-arc-horizontal/README.md +6 -0
  109. package/examples/javascript/flow-arc-horizontal/index.css +11 -0
  110. package/examples/javascript/flow-arc-horizontal/index.html +12 -0
  111. package/examples/javascript/flow-arc-horizontal/index.js +116 -0
  112. package/examples/javascript/flow-arc-horizontal/package.json +16 -0
  113. package/examples/javascript/flow-arc-horizontal/webpack.config.js +38 -0
  114. package/examples/javascript/flow-arc-vertical/README.md +6 -0
  115. package/examples/javascript/flow-arc-vertical/index.css +11 -0
  116. package/examples/javascript/flow-arc-vertical/index.html +12 -0
  117. package/examples/javascript/flow-arc-vertical/index.js +91 -0
  118. package/examples/javascript/flow-arc-vertical/package.json +16 -0
  119. package/examples/javascript/flow-arc-vertical/webpack.config.js +38 -0
  120. package/examples/javascript/flow-chord/package.json +1 -1
  121. package/examples/javascript/flow-chord-directed/package.json +1 -1
  122. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  123. package/examples/javascript/flow-sankey/package.json +1 -1
  124. package/examples/javascript/gauge/package.json +1 -1
  125. package/examples/javascript/gauge-bands/package.json +1 -1
  126. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  127. package/examples/javascript/hierarchy-pack/package.json +1 -1
  128. package/examples/javascript/hierarchy-partition/package.json +1 -1
  129. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  130. package/examples/javascript/hierarchy-tree/package.json +1 -1
  131. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  132. package/examples/javascript/hierarchy-voronoi-treemap/README.md +6 -0
  133. package/examples/javascript/hierarchy-voronoi-treemap/index.css +11 -0
  134. package/examples/javascript/hierarchy-voronoi-treemap/index.html +12 -0
  135. package/examples/javascript/hierarchy-voronoi-treemap/index.js +1298 -0
  136. package/examples/javascript/hierarchy-voronoi-treemap/package.json +16 -0
  137. package/examples/javascript/hierarchy-voronoi-treemap/webpack.config.js +38 -0
  138. package/examples/javascript/jest/package.json +1 -1
  139. package/examples/javascript/json-pie/package.json +1 -1
  140. package/examples/javascript/json-xy/index.js +11 -0
  141. package/examples/javascript/json-xy/package.json +1 -1
  142. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  143. package/examples/javascript/map-day-and-night/package.json +1 -1
  144. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  145. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  146. package/examples/javascript/map-with-bubbles/package.json +1 -1
  147. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  148. package/examples/javascript/misc-40-charts/package.json +1 -1
  149. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  150. package/examples/javascript/pie-chart/package.json +1 -1
  151. package/examples/javascript/pie-donut-chart/package.json +1 -1
  152. package/examples/javascript/pie-variable-radius/package.json +1 -1
  153. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  154. package/examples/javascript/radar-heat-map/package.json +1 -1
  155. package/examples/javascript/radar-line/package.json +1 -1
  156. package/examples/javascript/radar-time-line/package.json +1 -1
  157. package/examples/javascript/sliced-funnel/package.json +1 -1
  158. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  159. package/examples/javascript/sliced-pyramid/package.json +1 -1
  160. package/examples/javascript/stock-chart/package.json +1 -1
  161. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  162. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  163. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  164. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  165. package/examples/javascript/stock-chart-live/package.json +1 -1
  166. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  167. package/examples/javascript/venn-diagram/package.json +1 -1
  168. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  169. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  170. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  171. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  172. package/examples/javascript/xy-bubble/package.json +1 -1
  173. package/examples/javascript/xy-candlestick/package.json +1 -1
  174. package/examples/javascript/xy-clustered-column/package.json +1 -1
  175. package/examples/javascript/xy-column/package.json +1 -1
  176. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  177. package/examples/javascript/xy-data-grouping/package.json +1 -1
  178. package/examples/javascript/xy-draggable-range/package.json +1 -1
  179. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  180. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  181. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  182. package/examples/javascript/xy-line/package.json +1 -1
  183. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  184. package/examples/javascript/xy-live-data/package.json +1 -1
  185. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  186. package/examples/javascript/xy-ohlc/package.json +1 -1
  187. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  188. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  189. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  190. package/examples/javascript/xy-stacked-column/package.json +1 -1
  191. package/examples/javascript/xy-stacked-step/package.json +1 -1
  192. package/examples/javascript/xy-stock/package.json +1 -1
  193. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  194. package/examples/typescript/flow-arc-horizontal/README.md +6 -0
  195. package/examples/typescript/flow-arc-horizontal/index.css +11 -0
  196. package/examples/typescript/flow-arc-horizontal/index.html +12 -0
  197. package/examples/typescript/flow-arc-horizontal/index.ts +116 -0
  198. package/examples/typescript/flow-arc-horizontal/package.json +18 -0
  199. package/examples/typescript/flow-arc-horizontal/tsconfig.json +12 -0
  200. package/examples/typescript/flow-arc-horizontal/webpack.config.js +45 -0
  201. package/examples/typescript/flow-arc-vertical/README.md +6 -0
  202. package/examples/typescript/flow-arc-vertical/index.css +11 -0
  203. package/examples/typescript/flow-arc-vertical/index.html +12 -0
  204. package/examples/typescript/flow-arc-vertical/index.ts +91 -0
  205. package/examples/typescript/flow-arc-vertical/package.json +18 -0
  206. package/examples/typescript/flow-arc-vertical/tsconfig.json +12 -0
  207. package/examples/typescript/flow-arc-vertical/webpack.config.js +45 -0
  208. package/examples/typescript/flow-chord/package.json +1 -1
  209. package/examples/typescript/flow-chord-directed/package.json +1 -1
  210. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  211. package/examples/typescript/flow-sankey/package.json +1 -1
  212. package/examples/typescript/gauge/package.json +1 -1
  213. package/examples/typescript/gauge-bands/package.json +1 -1
  214. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  215. package/examples/typescript/hierarchy-pack/package.json +1 -1
  216. package/examples/typescript/hierarchy-partition/package.json +1 -1
  217. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  218. package/examples/typescript/hierarchy-tree/package.json +1 -1
  219. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  220. package/examples/typescript/hierarchy-voronoi-treemap/README.md +6 -0
  221. package/examples/typescript/hierarchy-voronoi-treemap/index.css +11 -0
  222. package/examples/typescript/hierarchy-voronoi-treemap/index.html +12 -0
  223. package/examples/typescript/hierarchy-voronoi-treemap/index.ts +1298 -0
  224. package/examples/typescript/hierarchy-voronoi-treemap/package.json +18 -0
  225. package/examples/typescript/hierarchy-voronoi-treemap/tsconfig.json +12 -0
  226. package/examples/typescript/hierarchy-voronoi-treemap/webpack.config.js +45 -0
  227. package/examples/typescript/jest/package.json +1 -1
  228. package/examples/typescript/json-pie/package.json +1 -1
  229. package/examples/typescript/json-xy/index.ts +11 -0
  230. package/examples/typescript/json-xy/package.json +1 -1
  231. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  232. package/examples/typescript/map-day-and-night/package.json +1 -1
  233. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  234. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  235. package/examples/typescript/map-with-bubbles/package.json +1 -1
  236. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  237. package/examples/typescript/misc-40-charts/package.json +1 -1
  238. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  239. package/examples/typescript/pie-chart/package.json +1 -1
  240. package/examples/typescript/pie-donut-chart/package.json +1 -1
  241. package/examples/typescript/pie-variable-radius/package.json +1 -1
  242. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  243. package/examples/typescript/radar-heat-map/package.json +1 -1
  244. package/examples/typescript/radar-line/package.json +1 -1
  245. package/examples/typescript/radar-time-line/package.json +1 -1
  246. package/examples/typescript/sliced-funnel/package.json +1 -1
  247. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  248. package/examples/typescript/sliced-pyramid/package.json +1 -1
  249. package/examples/typescript/stock-chart/package.json +1 -1
  250. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  251. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  252. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  253. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  254. package/examples/typescript/stock-chart-live/package.json +1 -1
  255. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  256. package/examples/typescript/venn-diagram/package.json +1 -1
  257. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  258. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  259. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  260. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  261. package/examples/typescript/xy-bubble/package.json +1 -1
  262. package/examples/typescript/xy-candlestick/package.json +1 -1
  263. package/examples/typescript/xy-clustered-column/package.json +1 -1
  264. package/examples/typescript/xy-column/package.json +1 -1
  265. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  266. package/examples/typescript/xy-data-grouping/package.json +1 -1
  267. package/examples/typescript/xy-draggable-range/package.json +1 -1
  268. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  269. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  270. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  271. package/examples/typescript/xy-line/package.json +1 -1
  272. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  273. package/examples/typescript/xy-live-data/package.json +1 -1
  274. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  275. package/examples/typescript/xy-ohlc/package.json +1 -1
  276. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  277. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  278. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  279. package/examples/typescript/xy-stacked-column/package.json +1 -1
  280. package/examples/typescript/xy-stacked-step/package.json +1 -1
  281. package/examples/typescript/xy-stock/package.json +1 -1
  282. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  283. package/flow.d.ts +3 -0
  284. package/flow.d.ts.map +1 -1
  285. package/flow.js +3 -0
  286. package/flow.js.map +1 -1
  287. package/hierarchy.d.ts +1 -0
  288. package/hierarchy.d.ts.map +1 -1
  289. package/hierarchy.js +1 -0
  290. package/hierarchy.js.map +1 -1
  291. package/index.d.ts +1 -0
  292. package/index.d.ts.map +1 -1
  293. package/index.js +1 -0
  294. package/index.js.map +1 -1
  295. package/package.json +4 -2
@@ -50,17 +50,20 @@ function parseRef(value, refs) {
50
50
  };
51
51
  }
52
52
  }
53
+ function mergeObject(entity, parsed) {
54
+ if (parsed.properties) {
55
+ $array.each(parsed.properties, (fn) => {
56
+ fn(entity);
57
+ });
58
+ }
59
+ }
53
60
  function mergeEntity(entity, parsed) {
61
+ mergeObject(entity, parsed);
54
62
  if (parsed.adapters) {
55
63
  $array.each(parsed.adapters, (adapter) => {
56
64
  entity.adapters.add(adapter.key, adapter.callback);
57
65
  });
58
66
  }
59
- if (parsed.properties) {
60
- $array.each(parsed.properties, (fn) => {
61
- fn(entity);
62
- });
63
- }
64
67
  if (entity instanceof Container) {
65
68
  if (parsed.children) {
66
69
  parsed.children.forEach((child) => {
@@ -74,6 +77,12 @@ function mergeEntity(entity, parsed) {
74
77
  }
75
78
  }
76
79
  }
80
+ function mergeExisting(entity, parsed) {
81
+ if (parsed.settings) {
82
+ entity.setAll(parsed.settings);
83
+ }
84
+ mergeEntity(entity, parsed);
85
+ }
77
86
  function constructEntity(root, parsed) {
78
87
  if (!parsed.construct) {
79
88
  return parsed.value;
@@ -206,30 +215,37 @@ class ParserState {
206
215
  return (entity) => {
207
216
  const run = () => {
208
217
  const old = entity[key];
209
- if (old && old instanceof Entity) {
210
- // TODO merge it if the value is an Entity
218
+ if (old) {
211
219
  if (parsed.isValue) {
212
- throw new Error("Cannot merge value into Entity");
220
+ // Merge Array into List
221
+ if ($type.isArray(parsed.value)) {
222
+ $array.each(parsed.value, (value) => {
223
+ old.push(value);
224
+ });
225
+ }
226
+ else {
227
+ entity[key] = parsed.value;
228
+ }
213
229
  }
214
- if (parsed.settings) {
215
- old.setAll(parsed.settings);
230
+ else if (parsed.construct) {
231
+ entity[key] = constructEntity(root, parsed);
232
+ // Merge into existing Entity or Template
216
233
  }
217
- mergeEntity(old, parsed);
218
- }
219
- else if (parsed.isValue) {
220
- // Merge Array into List
221
- if (old && $type.isArray(parsed.value)) {
222
- $array.each(parsed.value, (value) => {
223
- old.push(value);
224
- });
234
+ else if (old instanceof Entity || old instanceof Template) {
235
+ mergeExisting(old, parsed);
236
+ // Merge into existing object
225
237
  }
226
238
  else {
227
- // TODO merge it if the value is an Entity
228
- entity[key] = parsed.value;
239
+ mergeObject(old, parsed);
229
240
  }
230
241
  }
231
242
  else {
232
- entity[key] = constructEntity(root, parsed);
243
+ if (parsed.isValue) {
244
+ entity[key] = parsed.value;
245
+ }
246
+ else {
247
+ entity[key] = constructEntity(root, parsed);
248
+ }
233
249
  }
234
250
  };
235
251
  if (key === "data") {
@@ -1 +1 @@
1
- {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\n\nimport { Entity } from \"../../core/util/Entity\";\nimport { Sprite } from \"../../core/render/Sprite\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n\t[key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n\treturn $type.isObject(value);\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n\tlet i = refs.length;\n\n\twhile (i--) {\n\t\tconst sub = refs[i];\n\n\t\tif (name in sub) {\n\t\t\treturn sub[name];\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find ref #\" + name);\n}\n\n\ninterface IAdapter<E extends Entity> {\n\tkey: keyof E[\"_settings\"],\n\tcallback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ntype IParsedProperties = Array<(entity: Entity) => void>;\n\ntype IRefs = { [key: string]: any } | Array<{ [key: string]: any }>;\n\ninterface IChild {\n\tindex: number | undefined,\n\tvalue: Sprite,\n}\n\ninterface IParsedEntity<E extends Entity> {\n\tisValue: false,\n\ttype: string | undefined,\n\tconstruct: typeof Entity | undefined,\n\tsettings: object | undefined,\n\tadapters: Array<IAdapter<E>> | undefined,\n\tchildren: Array<IChild> | undefined,\n\tproperties: IParsedProperties | undefined,\n\tindex: number | undefined,\n\tvalue: object,\n}\n\ntype IParsed<E extends Entity>\n\t= IParsedEntity<E>\n\t| { isValue: true, value: any };\n\n\nfunction parseRef<E extends Entity>(value: string, refs: Array<IRef>): IParsed<E> {\n\tif (value[0] === \"#\") {\n\t\tconst ref = value.slice(1);\n\n\t\tif (value[1] === \"#\") {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: ref,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst path = ref.split(/\\./g);\n\n\t\t\tlet object = lookupRef(refs, path[0]);\n\n\t\t\tfor (let i = 1; i < path.length; ++i) {\n\t\t\t\tobject = object[path[i]];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: object,\n\t\t\t};\n\t\t}\n\n\t} else {\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue,\n\t\t};\n\t}\n}\n\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.adapters) {\n\t\t$array.each(parsed.adapters, (adapter) => {\n\t\t\tentity.adapters.add(adapter.key, adapter.callback);\n\t\t});\n\t}\n\n\tif (parsed.properties) {\n\t\t$array.each(parsed.properties, (fn) => {\n\t\t\tfn(entity);\n\t\t});\n\t}\n\n\tif (entity instanceof Container) {\n\t\tif (parsed.children) {\n\t\t\tparsed.children.forEach((child) => {\n\t\t\t\tif (child.index == null) {\n\t\t\t\t\tentity.children.push(child.value);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.children.insertIndex(child.index, child.value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n\tif (!parsed.construct) {\n\t\treturn parsed.value;\n\t}\n\n\tconst entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n\tmergeEntity(entity, parsed);\n\n\treturn entity;\n}\n\n\nclass ParserState {\n\tprotected _caching: { [key: string]: Promise<void> } = {};\n\tprotected _cache: { [key: string]: typeof Entity } = {};\n\tprotected _delayed: Array<() => void> = [];\n\n\n\tafterParse(): void {\n\t\tthis._delayed.forEach((f) => {\n\t\t\tf();\n\t\t});\n\t}\n\n\n\tgetClass(name: string): typeof Entity {\n\t\treturn this._cache[name];\n\t}\n\n\tasync storeClass(name: string): Promise<void> {\n\t\tconst promise = classes[name as keyof IClasses];\n\t\tthis._cache[name] = await promise() as typeof Entity;\n\t}\n\n\tcacheClass(name: string): Promise<void> {\n\t\tlet promise = this._caching[name];\n\n\t\tif (promise == null) {\n\t\t\tpromise = this._caching[name] = this.storeClass(name);\n\t\t}\n\n\t\treturn promise;\n\t}\n\n\n\tasync parseAsyncArray(array: Array<unknown>): Promise<void> {\n\t\tawait Promise.all($array.map(array, (x) => this.parseAsync(x)));\n\t}\n\n\tasync parseAsyncObject(object: object): Promise<void> {\n\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsync(object[key])));\n\t}\n\n\tasync parseAsyncRefs(refs: Array<object> | object): Promise<void> {\n\t\tif ($type.isArray(refs)) {\n\t\t\tawait Promise.all($array.map(refs, (x) => this.parseAsyncRefs(x)));\n\n\t\t} else {\n\t\t\tawait this.parseAsyncObject(refs);\n\t\t}\n\t}\n\n\tasync parseAsync(value: unknown): Promise<void> {\n\t\tif ($type.isArray(value)) {\n\t\t\tawait this.parseAsyncArray(value);\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\" || value.type === \"Percent\") {\n\t\t\t\t// Do nothing\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncObject(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\tawait this.parseAsyncObject(value);\n\n\t\t\t} else if (value.__parse !== false) {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.type ? this.cacheClass(value.type) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncObject(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.properties ? this.parseAsyncObject(value.properties) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.children ? this.parseAsyncArray(value.children) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tparseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Array<unknown> {\n\t\treturn $array.map(value, (value) => this.parse(root, value, refs));\n\t}\n\n\tparseChildren(root: Root, value: Array<{ [key: string]: any } | string>, refs: Array<IRef>): Array<IChild> {\n\t\treturn $array.map(value, (value) => this.parseChild(root, value, refs));\n\t}\n\n\n\tparseSetting(root: Root, key: string, value: unknown, refs: Array<IRef>): unknown {\n\t\tif (key === \"layout\") {\n\t\t\tswitch (value) {\n\t\t\tcase \"horizontal\":\n\t\t\t\treturn root.horizontalLayout;\n\t\t\tcase \"vertical\":\n\t\t\t\treturn root.verticalLayout;\n\t\t\tcase \"grid\":\n\t\t\t\treturn root.gridLayout;\n\t\t\t}\n\t\t}\n\n\t\treturn this.parse(root, value, refs);\n\t}\n\n\tparseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): E[\"_settings\"] {\n\t\tconst settings: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tsettings[key] = this.parseSetting(root, key, object[key], refs);\n\t\t});\n\n\t\treturn settings;\n\t}\n\n\n\tparseProperties(root: Root, object: object, refs: Array<IRef>): IParsedProperties {\n\t\treturn $array.map($object.keys(object), (key) => {\n\t\t\tconst parsed = this.parseValue(root, object[key], refs);\n\n\t\t\treturn (entity: Entity) => {\n\t\t\t\tconst run = () => {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\tif (old && old instanceof Entity) {\n\t\t\t\t\t\t// TODO merge it if the value is an Entity\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\tthrow new Error(\"Cannot merge value into Entity\");\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (parsed.settings) {\n\t\t\t\t\t\t\told.setAll(parsed.settings);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmergeEntity(old, parsed);\n\n\t\t\t\t\t} else if (parsed.isValue) {\n\t\t\t\t\t\t// Merge Array into List\n\t\t\t\t\t\tif (old && $type.isArray(parsed.value)) {\n\t\t\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t\t\t(old as any).push(value);\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// TODO merge it if the value is an Entity\n\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (key === \"data\") {\n\t\t\t\t\tthis._delayed.push(run);\n\n\t\t\t\t} else if (key === \"bullets\") {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\t$type.assert(old != null);\n\t\t\t\t\t$type.assert(parsed.isValue);\n\t\t\t\t\t$type.assert($type.isArray(parsed.value));\n\n\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t(old as any).push(() => value);\n\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\trun();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\n\tparseRefsObject(root: Root, object: { [key: string]: any }, refs: Array<IRef>): IRef {\n\t\tconst newRefs: IRef = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tnewRefs[key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn newRefs;\n\t}\n\n\tparseRefs(root: Root, object: IRefs, refs: Array<IRef>): Array<IRef> {\n\t\tif ($type.isArray(object)) {\n\t\t\tconst length = object.length;\n\n\t\t\tfor (let i = 0; i < length; ++i) {\n\t\t\t\trefs = refs.concat([this.parseRefsObject(root, object[i] as any, refs)]);\n\t\t\t}\n\n\t\t} else {\n\t\t\trefs = refs.concat([this.parseRefsObject(root, object, refs)]);\n\t\t}\n\n\t\treturn refs;\n\t}\n\n\n\tparseChild(root: Root, value: { [key: string]: any } | string, refs: Array<IRef>): IChild {\n\t\tif ($type.isString(value)) {\n\t\t\treturn {\n\t\t\t\tindex: undefined,\n\t\t\t\tvalue: parseRef<Sprite>(value, refs).value,\n\t\t\t};\n\n\t\t} else if (value.ref != null) {\n\t\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tvalue: parseRef<Sprite>(value.ref, refs).value,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst parsed = this.parseEntity<Sprite>(root, value, refs);\n\n\t\t\treturn {\n\t\t\t\tindex: parsed.index,\n\t\t\t\tvalue: constructEntity(root, parsed) as Sprite,\n\t\t\t};\n\t\t}\n\t}\n\n\tparseEntity<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsedEntity<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst construct = (value.type ? this.getClass(value.type) : undefined);\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : undefined);\n\t\tconst properties = (value.properties ? this.parseProperties(root, value.properties, refs) : undefined);\n\t\tconst children = (value.children ? this.parseChildren(root, value.children, refs) : undefined);\n\n\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: value.type,\n\t\t\tconstruct,\n\t\t\tsettings,\n\t\t\tadapters: value.adapters,\n\t\t\tchildren,\n\t\t\tproperties,\n\t\t\tindex,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): IParsed<E> {\n\t\tif (value instanceof Entity) {\n\t\t\treturn { isValue: true, value: value };\n\n\t\t} else if ($type.isArray(value)) {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: this.parseArray(root, value, refs),\n\t\t\t};\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Color.fromAny(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Percent\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: new Percent(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tif (value.refs) {\n\t\t\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t\t\t}\n\n\t\t\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : {});\n\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Template.new(settings),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: this.parseSettings(root, value, refs),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === false) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else {\n\t\t\t\treturn this.parseEntity(root, value, refs);\n\t\t\t}\n\n\t\t} else if ($type.isString(value)) {\n\t\t\treturn parseRef(value, refs);\n\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue,\n\t\t\t};\n\t\t}\n\t}\n\n\tparse<E extends Entity>(root: Root, value: unknown, refs: Array<IRef>): E | object {\n\t\tconst parsed = this.parseValue<E>(root, value, refs);\n\n\t\tif (parsed.isValue) {\n\t\t\treturn parsed.value;\n\n\t\t} else {\n\t\t\treturn constructEntity<E>(root, parsed);\n\t\t}\n\t}\n}\n\nexport interface IParseSettings {\n\tparent?: Container;\n}\n\n/**\n * A parser for JSON based chart configs.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class JsonParser {\n\tprotected _root: Root;\n\n\t/**\n\t * IMPORTANT! Do not instantiate this class via `new Class()` syntax.\n\t *\n\t * Use static method `Class.new()` instead.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @ignore\n\t */\n\tconstructor(root: Root, isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._root = root;\n\t}\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @return Instantiated object\n\t */\n\tstatic new<C extends typeof JsonParser, T extends InstanceType<C>>(this: C, root: Root): T {\n\t\treturn (new this(root, true)) as T;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from simple objects.\n\t *\n\t * @param object Serialized data\n\t * @return A promise of a target object\n\t */\n\tasync parse<E extends Entity>(object: unknown, settings: IParseSettings = {}): Promise<E> {\n\t\tconst state = new ParserState();\n\n\t\tawait state.parseAsync(object);\n\n\t\tconst output = state.parse(this._root, object, []) as E;\n\n\t\tif (settings.parent) {\n\t\t\tif (output instanceof Sprite) {\n\t\t\t\tsettings.parent.children.push(output);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"When using the parent setting, the entity must be a Sprite\");\n\t\t\t}\n\t\t}\n\n\t\tstate.afterParse();\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from JSON string.\n\t *\n\t * @param string JSON string\n\t * @return A promise of a target object\n\t */\n\tasync parseString<E extends Entity>(string: string, settings: IParseSettings = {}): Promise<E> {\n\t\treturn await this.parse(JSON.parse(string), settings);\n\t}\n}\n"]}
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\n\nimport { Entity } from \"../../core/util/Entity\";\nimport { Sprite } from \"../../core/render/Sprite\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n\t[key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n\treturn $type.isObject(value);\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n\tlet i = refs.length;\n\n\twhile (i--) {\n\t\tconst sub = refs[i];\n\n\t\tif (name in sub) {\n\t\t\treturn sub[name];\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find ref #\" + name);\n}\n\n\ninterface IAdapter<E extends Entity> {\n\tkey: keyof E[\"_settings\"],\n\tcallback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ntype IParsedProperties = Array<(entity: object) => void>;\n\ntype IRefs = { [key: string]: any } | Array<{ [key: string]: any }>;\n\ninterface IChild {\n\tindex: number | undefined,\n\tvalue: Sprite,\n}\n\ninterface IParsedEntity<E extends Entity> {\n\tisValue: false,\n\ttype: string | undefined,\n\tconstruct: typeof Entity | undefined,\n\tsettings: object | undefined,\n\tadapters: Array<IAdapter<E>> | undefined,\n\tchildren: Array<IChild> | undefined,\n\tproperties: IParsedProperties | undefined,\n\tindex: number | undefined,\n\tvalue: object,\n}\n\ntype IParsed<E extends Entity>\n\t= IParsedEntity<E>\n\t| { isValue: true, value: any };\n\n\nfunction parseRef<E extends Entity>(value: string, refs: Array<IRef>): IParsed<E> {\n\tif (value[0] === \"#\") {\n\t\tconst ref = value.slice(1);\n\n\t\tif (value[1] === \"#\") {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: ref,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst path = ref.split(/\\./g);\n\n\t\t\tlet object = lookupRef(refs, path[0]);\n\n\t\t\tfor (let i = 1; i < path.length; ++i) {\n\t\t\t\tobject = object[path[i]];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: object,\n\t\t\t};\n\t\t}\n\n\t} else {\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue,\n\t\t};\n\t}\n}\n\n\nfunction mergeObject<E extends Entity>(entity: object, parsed: IParsedEntity<E>): void {\n\tif (parsed.properties) {\n\t\t$array.each(parsed.properties, (fn) => {\n\t\t\tfn(entity);\n\t\t});\n\t}\n}\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tmergeObject(entity, parsed);\n\n\tif (parsed.adapters) {\n\t\t$array.each(parsed.adapters, (adapter) => {\n\t\t\tentity.adapters.add(adapter.key, adapter.callback);\n\t\t});\n\t}\n\n\tif (entity instanceof Container) {\n\t\tif (parsed.children) {\n\t\t\tparsed.children.forEach((child) => {\n\t\t\t\tif (child.index == null) {\n\t\t\t\t\tentity.children.push(child.value);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.children.insertIndex(child.index, child.value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction mergeExisting<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\tentity.setAll(parsed.settings);\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n\tif (!parsed.construct) {\n\t\treturn parsed.value;\n\t}\n\n\tconst entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n\tmergeEntity(entity, parsed);\n\n\treturn entity;\n}\n\n\nclass ParserState {\n\tprotected _caching: { [key: string]: Promise<void> } = {};\n\tprotected _cache: { [key: string]: typeof Entity } = {};\n\tprotected _delayed: Array<() => void> = [];\n\n\n\tafterParse(): void {\n\t\tthis._delayed.forEach((f) => {\n\t\t\tf();\n\t\t});\n\t}\n\n\n\tgetClass(name: string): typeof Entity {\n\t\treturn this._cache[name];\n\t}\n\n\tasync storeClass(name: string): Promise<void> {\n\t\tconst promise = classes[name as keyof IClasses];\n\t\tthis._cache[name] = await promise() as typeof Entity;\n\t}\n\n\tcacheClass(name: string): Promise<void> {\n\t\tlet promise = this._caching[name];\n\n\t\tif (promise == null) {\n\t\t\tpromise = this._caching[name] = this.storeClass(name);\n\t\t}\n\n\t\treturn promise;\n\t}\n\n\n\tasync parseAsyncArray(array: Array<unknown>): Promise<void> {\n\t\tawait Promise.all($array.map(array, (x) => this.parseAsync(x)));\n\t}\n\n\tasync parseAsyncObject(object: object): Promise<void> {\n\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsync(object[key])));\n\t}\n\n\tasync parseAsyncRefs(refs: Array<object> | object): Promise<void> {\n\t\tif ($type.isArray(refs)) {\n\t\t\tawait Promise.all($array.map(refs, (x) => this.parseAsyncRefs(x)));\n\n\t\t} else {\n\t\t\tawait this.parseAsyncObject(refs);\n\t\t}\n\t}\n\n\tasync parseAsync(value: unknown): Promise<void> {\n\t\tif ($type.isArray(value)) {\n\t\t\tawait this.parseAsyncArray(value);\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\" || value.type === \"Percent\") {\n\t\t\t\t// Do nothing\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncObject(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\tawait this.parseAsyncObject(value);\n\n\t\t\t} else if (value.__parse !== false) {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.type ? this.cacheClass(value.type) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncObject(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.properties ? this.parseAsyncObject(value.properties) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.children ? this.parseAsyncArray(value.children) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tparseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Array<unknown> {\n\t\treturn $array.map(value, (value) => this.parse(root, value, refs));\n\t}\n\n\tparseChildren(root: Root, value: Array<{ [key: string]: any } | string>, refs: Array<IRef>): Array<IChild> {\n\t\treturn $array.map(value, (value) => this.parseChild(root, value, refs));\n\t}\n\n\n\tparseSetting(root: Root, key: string, value: unknown, refs: Array<IRef>): unknown {\n\t\tif (key === \"layout\") {\n\t\t\tswitch (value) {\n\t\t\tcase \"horizontal\":\n\t\t\t\treturn root.horizontalLayout;\n\t\t\tcase \"vertical\":\n\t\t\t\treturn root.verticalLayout;\n\t\t\tcase \"grid\":\n\t\t\t\treturn root.gridLayout;\n\t\t\t}\n\t\t}\n\n\t\treturn this.parse(root, value, refs);\n\t}\n\n\tparseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): E[\"_settings\"] {\n\t\tconst settings: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tsettings[key] = this.parseSetting(root, key, object[key], refs);\n\t\t});\n\n\t\treturn settings;\n\t}\n\n\n\tparseProperties(root: Root, object: object, refs: Array<IRef>): IParsedProperties {\n\t\treturn $array.map($object.keys(object), (key) => {\n\t\t\tconst parsed = this.parseValue(root, object[key], refs);\n\n\t\t\treturn (entity: object) => {\n\t\t\t\tconst run = () => {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\tif (old) {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t// Merge Array into List\n\t\t\t\t\t\t\tif ($type.isArray(parsed.value)) {\n\t\t\t\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t\t\t\t(old as any).push(value);\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (parsed.construct) {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\n\t\t\t\t\t\t// Merge into existing Entity or Template\n\t\t\t\t\t\t} else if (old instanceof Entity || old instanceof Template) {\n\t\t\t\t\t\t\tmergeExisting(old as Entity, parsed);\n\n\t\t\t\t\t\t// Merge into existing object\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeObject(old as object, parsed);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (key === \"data\") {\n\t\t\t\t\tthis._delayed.push(run);\n\n\t\t\t\t} else if (key === \"bullets\") {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\t$type.assert(old != null);\n\t\t\t\t\t$type.assert(parsed.isValue);\n\t\t\t\t\t$type.assert($type.isArray(parsed.value));\n\n\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t(old as any).push(() => value);\n\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\trun();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\n\tparseRefsObject(root: Root, object: { [key: string]: any }, refs: Array<IRef>): IRef {\n\t\tconst newRefs: IRef = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tnewRefs[key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn newRefs;\n\t}\n\n\tparseRefs(root: Root, object: IRefs, refs: Array<IRef>): Array<IRef> {\n\t\tif ($type.isArray(object)) {\n\t\t\tconst length = object.length;\n\n\t\t\tfor (let i = 0; i < length; ++i) {\n\t\t\t\trefs = refs.concat([this.parseRefsObject(root, object[i] as any, refs)]);\n\t\t\t}\n\n\t\t} else {\n\t\t\trefs = refs.concat([this.parseRefsObject(root, object, refs)]);\n\t\t}\n\n\t\treturn refs;\n\t}\n\n\n\tparseChild(root: Root, value: { [key: string]: any } | string, refs: Array<IRef>): IChild {\n\t\tif ($type.isString(value)) {\n\t\t\treturn {\n\t\t\t\tindex: undefined,\n\t\t\t\tvalue: parseRef<Sprite>(value, refs).value,\n\t\t\t};\n\n\t\t} else if (value.ref != null) {\n\t\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tvalue: parseRef<Sprite>(value.ref, refs).value,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst parsed = this.parseEntity<Sprite>(root, value, refs);\n\n\t\t\treturn {\n\t\t\t\tindex: parsed.index,\n\t\t\t\tvalue: constructEntity(root, parsed) as Sprite,\n\t\t\t};\n\t\t}\n\t}\n\n\tparseEntity<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsedEntity<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst construct = (value.type ? this.getClass(value.type) : undefined);\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : undefined);\n\t\tconst properties = (value.properties ? this.parseProperties(root, value.properties, refs) : undefined);\n\t\tconst children = (value.children ? this.parseChildren(root, value.children, refs) : undefined);\n\n\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: value.type,\n\t\t\tconstruct,\n\t\t\tsettings,\n\t\t\tadapters: value.adapters,\n\t\t\tchildren,\n\t\t\tproperties,\n\t\t\tindex,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): IParsed<E> {\n\t\tif (value instanceof Entity) {\n\t\t\treturn { isValue: true, value: value };\n\n\t\t} else if ($type.isArray(value)) {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: this.parseArray(root, value, refs),\n\t\t\t};\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Color.fromAny(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Percent\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: new Percent(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tif (value.refs) {\n\t\t\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t\t\t}\n\n\t\t\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : {});\n\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Template.new(settings),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: this.parseSettings(root, value, refs),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === false) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else {\n\t\t\t\treturn this.parseEntity(root, value, refs);\n\t\t\t}\n\n\t\t} else if ($type.isString(value)) {\n\t\t\treturn parseRef(value, refs);\n\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue,\n\t\t\t};\n\t\t}\n\t}\n\n\tparse<E extends Entity>(root: Root, value: unknown, refs: Array<IRef>): E | object {\n\t\tconst parsed = this.parseValue<E>(root, value, refs);\n\n\t\tif (parsed.isValue) {\n\t\t\treturn parsed.value;\n\n\t\t} else {\n\t\t\treturn constructEntity<E>(root, parsed);\n\t\t}\n\t}\n}\n\nexport interface IParseSettings {\n\tparent?: Container;\n}\n\n/**\n * A parser for JSON based chart configs.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class JsonParser {\n\tprotected _root: Root;\n\n\t/**\n\t * IMPORTANT! Do not instantiate this class via `new Class()` syntax.\n\t *\n\t * Use static method `Class.new()` instead.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @ignore\n\t */\n\tconstructor(root: Root, isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._root = root;\n\t}\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @return Instantiated object\n\t */\n\tstatic new<C extends typeof JsonParser, T extends InstanceType<C>>(this: C, root: Root): T {\n\t\treturn (new this(root, true)) as T;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from simple objects.\n\t *\n\t * @param object Serialized data\n\t * @return A promise of a target object\n\t */\n\tasync parse<E extends Entity>(object: unknown, settings: IParseSettings = {}): Promise<E> {\n\t\tconst state = new ParserState();\n\n\t\tawait state.parseAsync(object);\n\n\t\tconst output = state.parse(this._root, object, []) as E;\n\n\t\tif (settings.parent) {\n\t\t\tif (output instanceof Sprite) {\n\t\t\t\tsettings.parent.children.push(output);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"When using the parent setting, the entity must be a Sprite\");\n\t\t\t}\n\t\t}\n\n\t\tstate.afterParse();\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from JSON string.\n\t *\n\t * @param string JSON string\n\t * @return A promise of a target object\n\t */\n\tasync parseString<E extends Entity>(string: string, settings: IParseSettings = {}): Promise<E> {\n\t\treturn await this.parse(JSON.parse(string), settings);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedTheme.d.ts","sourceRoot":"","sources":["../../../../src/.internal/themes/AnimatedTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACvC,SAAS,CAAC,iBAAiB;CA2B3B"}
1
+ {"version":3,"file":"AnimatedTheme.d.ts","sourceRoot":"","sources":["../../../../src/.internal/themes/AnimatedTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACvC,SAAS,CAAC,iBAAiB;CA6B3B"}
@@ -21,6 +21,8 @@ export class AnimatedTheme extends Theme {
21
21
  animationDuration: 200
22
22
  });
23
23
  this.rule("WordCloud").set("animationDuration", 500);
24
+ this.rule("Polygon").set("animationDuration", 600);
25
+ this.rule("ArcDiagram").set("animationDuration", 600);
24
26
  }
25
27
  }
26
28
  //# sourceMappingURL=AnimatedTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedTheme.js","sourceRoot":"","sources":["../../../../src/.internal/themes/AnimatedTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,iBAAiB;QAC1B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAC7B,qBAAqB,EAAE,GAAG;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC1B,sBAAsB,EAAE,GAAG;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACrC,iBAAiB,EAAE,GAAG;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;CACD","sourcesContent":["import { Theme } from \"../core/Theme\";\n\n/**\n * @ignore\n */\nexport class AnimatedTheme extends Theme {\n\tprotected setupDefaultRules() {\n\t\tsuper.setupDefaultRules();\n\n\t\tthis.rule(\"Component\").setAll({\n\t\t\tinterpolationDuration: 600\n\t\t});\n\n\t\tthis.rule(\"Hierarchy\").set(\"animationDuration\", 600);\n\t\tthis.rule(\"Scrollbar\").set(\"animationDuration\", 600);\n\n\t\tthis.rule(\"Tooltip\").set(\"animationDuration\", 300);\n\n\t\tthis.rule(\"MapChart\").set(\"animationDuration\", 1000);\n\t\tthis.rule(\"MapChart\").set(\"wheelDuration\", 300);\n\n\t\tthis.rule(\"Entity\").setAll({\n\t\t\tstateAnimationDuration: 600\n\t\t});\n\n\t\tthis.rule(\"Sprite\").states.create(\"default\", { stateAnimationDuration: 600 });\n\n\t\tthis.rule(\"Tooltip\", [\"axis\"]).setAll({\n\t\t\tanimationDuration: 200\n\t\t});\n\n\t\tthis.rule(\"WordCloud\").set(\"animationDuration\", 500);\n\t}\n}\n"]}
1
+ {"version":3,"file":"AnimatedTheme.js","sourceRoot":"","sources":["../../../../src/.internal/themes/AnimatedTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,iBAAiB;QAC1B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAC7B,qBAAqB,EAAE,GAAG;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC1B,sBAAsB,EAAE,GAAG;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACrC,iBAAiB,EAAE,GAAG;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;CACD","sourcesContent":["import { Theme } from \"../core/Theme\";\n\n/**\n * @ignore\n */\nexport class AnimatedTheme extends Theme {\n\tprotected setupDefaultRules() {\n\t\tsuper.setupDefaultRules();\n\n\t\tthis.rule(\"Component\").setAll({\n\t\t\tinterpolationDuration: 600\n\t\t});\n\n\t\tthis.rule(\"Hierarchy\").set(\"animationDuration\", 600);\n\t\tthis.rule(\"Scrollbar\").set(\"animationDuration\", 600);\n\n\t\tthis.rule(\"Tooltip\").set(\"animationDuration\", 300);\n\n\t\tthis.rule(\"MapChart\").set(\"animationDuration\", 1000);\n\t\tthis.rule(\"MapChart\").set(\"wheelDuration\", 300);\n\n\t\tthis.rule(\"Entity\").setAll({\n\t\t\tstateAnimationDuration: 600\n\t\t});\n\n\t\tthis.rule(\"Sprite\").states.create(\"default\", { stateAnimationDuration: 600 });\n\n\t\tthis.rule(\"Tooltip\", [\"axis\"]).setAll({\n\t\t\tanimationDuration: 200\n\t\t});\n\n\t\tthis.rule(\"WordCloud\").set(\"animationDuration\", 500);\n\t\tthis.rule(\"Polygon\").set(\"animationDuration\", 600);\n\t\tthis.rule(\"ArcDiagram\").set(\"animationDuration\", 600);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTheme.d.ts","sourceRoot":"","sources":["../../../../src/.internal/themes/DefaultTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAE9F,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQtC,UAAU,QAAQ,CAAC,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,QAOlI;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACtC,SAAS,CAAC,iBAAiB;CAu+B3B"}
1
+ {"version":3,"file":"DefaultTheme.d.ts","sourceRoot":"","sources":["../../../../src/.internal/themes/DefaultTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAE9F,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQtC,UAAU,QAAQ,CAAC,CAAC;IACnB,SAAS,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,QAOlI;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACtC,SAAS,CAAC,iBAAiB;CA2+B3B"}
@@ -380,6 +380,9 @@ export class DefaultTheme extends Theme {
380
380
  exportable: false
381
381
  //layer: 100
382
382
  });
383
+ r("Polygon").setAll({
384
+ animationEasing: $ease.out($ease.cubic),
385
+ });
383
386
  {
384
387
  const rule = r("PointedRectangle", ["tooltip", "background"]);
385
388
  rule.setAll({
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTheme.js","sourceRoot":"","sources":["../../../../src/.internal/themes/DefaultTheme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAQ3C;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAuB,IAAiB,EAAE,GAAM,EAAE,EAAmB,EAAE,IAAoC;IAClI,uDAAuD;IACvD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAQ,CAAC,CAAC;IAEnC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAY,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,iBAAiB;QAC1B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAErC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAEtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QAEjD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAG/B;;;;WAIG;QAEH,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;YAC3B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC7B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5C,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5C,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC7C,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5C,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9C,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5C,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9C,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC7B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACnC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9C,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC7B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC;gBACX,WAAW,EAAE;oBACZ,GAAG,EAAE,IAAI;oBACT,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,CAAC;iBACZ;gBACD,MAAM,EAAE;oBACP,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACvB;gBACD,IAAI,EAAE,CAAC;gBACP,0CAA0C;gBAC1C,YAAY;gBACZ,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,CAAC;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;SAClC;QAED,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAClB,sBAAsB,EAAE,CAAC;YACzB,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAC;QAEH,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YACrB,qBAAqB,EAAE,CAAC;YACxB,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;SAC3C,CAAC,CAAC;QAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAClB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAEtE,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YACrB,mBAAmB,EAAE,IAAI;YACzB,kBAAkB,EAAE,KAAK;SACzB,CAAC,CAAC;QAEH,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,CAAC;SACd,CAAC,CAAC;QAGH,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,KAAK;SAC1B,CAAC,CAAC;QAGH;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5C,OAAO,EAAE,GAAG;YACZ,CAAC,EAAE,GAAG;SACN,CAAC,CAAC;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1C,OAAO,EAAE,GAAG;YACZ,CAAC,EAAE,GAAG;SACN,CAAC,CAAC;QAEH,CAAC,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,MAAM,EAAE,gBAAgB;SACxB,CAAC,CAAC;QAEH,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7C,MAAM,EAAE,cAAc;SACtB,CAAC,CAAC;QAEH;;;;WAIG;QAEH,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;YACvB,GAAG,EAAE,CAAC;YACN,YAAY,EAAE,CAAC;YACf,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YAC5B,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,CAAC;SACd,CAAC,CAAC;QAEH,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YACzB,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;YACd,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH;;;;WAIG;QAEH,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;YAC1B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAGH;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,QAAQ;YACrB,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACtC,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,eAAe;SAC5B,CAAC,CAAC;QAEH,mBAAmB;QACnB,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,gBAAgB;YACxB,kBAAkB,EAAE,IAAI;YACxB,mBAAmB,EAAE,KAAK;YAC1B,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACtD,IAAI,EAAE,UAAU;SAChB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAE9D,IAAI,CAAC,MAAM,CAAC;gBACX,WAAW,EAAE,CAAC;aACd,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;SACzC;QAED,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3C,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAE,GAAG;YACZ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/D,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;SACzC;QAED,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACtC,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;SACvC;QAED,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;SACvC;QAID;;;;WAIG;QAEH,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;YACtB,SAAS,EAAE,CAAC;SACZ,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACtD,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAClE,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,CAAC,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACpC,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,CAAC,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1C,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACxC,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;SAChB,CAAC,CAAC;QAGH;;;;WAIG;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC;gBACX,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,uJAAuJ;gBACnK,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;aACnB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;SACnC;QAED,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,QAAQ;SACnB,CAAC,CAAC;QAGH;;;;WAIG;QAEH,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YAC5B,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YAC5B,gBAAgB,EAAE,EAAE;YACpB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,CAAC;SACf,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,CAAC;SACf,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC;gBACX,aAAa,EAAE,GAAG;gBAClB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,IAAI;aACX,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;SACrC;QAED,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAClB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACd,CAAC,CAAC;QAGH;;;;WAIG;QAEH,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,IAAI;YACvB,mBAAmB,EAAE,KAAK;YAC1B,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,UAAU;YAC9B,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACvC,UAAU,EAAE,KAAK;YACjB,YAAY;SACZ,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;YAE9D,IAAI,CAAC,MAAM,CAAC;gBACX,aAAa,EAAE,GAAG;gBAClB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC;gBAChB,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,GAAG;gBAChB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC/B,CAAC,CAAC;SACH;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,CAAC;aAChB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;SAC9C;QAGD;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAClB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,gBAAgB;YACxB,mBAAmB,EAAE,KAAK;YAC1B,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAExC;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YAC5C,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;SACpD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;SACjD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;YAClH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAChD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;SAClD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAClD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAChD;QAED;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5B,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC,EAAE;YACZ,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,IAAI;YACP,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;YACzC,KAAK,EAAE,EAAE;SACT,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC;gBACX,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;SAC5C;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;SACjD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1H,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAChD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC;gBACX,KAAK,EAAC,IAAI;gBACV,aAAa,EAAE,GAAG;gBAClB,IAAI,EAAE,CAAC,OAAY,EAAE,EAAE;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACvB,CAAC;aACD,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAClD;QAGD;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,GAAG;YACjB,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,0CAA0C,CAAC;SACzE,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAEvE,IAAI,CAAC,MAAM,CAAC;gBACX,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,EAAE;gBAClB,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;SACtD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAClG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC;SACnD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5H,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;SAClD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC;gBACX,WAAW,EAAC,KAAK;gBACjB,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,GAAG;gBAClB,IAAI,EAAE,CAAC,OAAY,EAAE,EAAE;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACvB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACxB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACvB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACzB,CAAC;aACD,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;SACpD;QAED,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1C,QAAQ,EAAE,EAAE;YACZ,eAAe,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5C,eAAe,EAAE,WAAW;SAC5B,CAAC,CAAC;QAIH;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5B,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;YACrC,SAAS,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAE3D,IAAI,CAAC,MAAM,CAAC;gBACX,aAAa,EAAE,GAAG;gBAClB,cAAc,EAAE,GAAG;gBACnB,cAAc,EAAE,GAAG;gBACnB,cAAc,EAAE,GAAG;gBACnB,cAAc,EAAE,GAAG;aACnB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;SAC5C;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC;gBACX,sBAAsB,EAAE,CAAC;gBACzB,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,CAAC,OAAY,EAAE,EAAE;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;aACD,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAChD;QAED,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;YACxD,sBAAsB,EAAE,CAAC;SACzB,CAAC,CAAA;QAEF,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YACvD,sBAAsB,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC,OAAY,EAAE,EAAE;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEvB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;SACD,CAAC,CAAA;QAGF;;;;WAIG;QAEH,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACtD,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YAE7D,IAAI,CAAC,MAAM,CAAC;gBACX,aAAa,EAAE,GAAG;gBAClB,cAAc,EAAE,GAAG;gBACnB,cAAc,EAAE,GAAG;gBACnB,cAAc,EAAE,GAAG;gBACnB,cAAc,EAAE,GAAG;aACnB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;SAC5C;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC;gBACX,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,EAAE,EAAE,CAAC;aACL,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;SAChD;QAED,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YACzD,EAAE,EAAE,EAAE;SACN,CAAC,CAAC;QAGH;;;;WAIG;QAEH,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YACrB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;SACvC,CAAC,CAAC;QAEH,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,CAAC,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;YACrC,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YACzC,UAAU,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC;gBACX,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,WAAW,EAAE,GAAG;aAChB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;SACnC;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAE3D,IAAI,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;SAC9C;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC;SACnD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;YAChH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;SAClD;QAED,CAAC,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAChE,CAAC,EAAE,GAAG;YACN,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,0CAA0C,CAAC;SACzE,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;YAClE,CAAC,EAAE,GAAG;YACN,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,6CAA6C,CAAC;SAC5E,CAAC,CAAC;QAEH,uDAAuD;QACvD,wCAAwC;QACxC,mBAAmB;QACnB,kBAAkB;QAClB,YAAY;QACZ,MAAM;QAEN;;;;;;;;WAQG;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;YAEtE,IAAI,CAAC,MAAM,CAAC;gBACX,YAAY,EAAE,CAAC;aACf,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;SACpD;QAED,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3C,SAAS,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,SAAS,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3C,SAAS,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,CAAC,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;YACrC,SAAS,EAAE,YAAY;SACvB,CAAC,CAAA;QAEF;;;;WAIG;QAEH,kBAAkB;QAClB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YAChB,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE;SACV,CAAC,CAAA;QAEF,QAAQ;QACR,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;SACf,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,aAAa,EAAE,CAAC;YAChB,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;SACf,CAAC,CAAC;QAEH,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,UAAU;QAEV,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YACzB,YAAY,EAAE,EAAE;SAChB,CAAC,CAAA;QAEF;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SAChC;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC;gBACX,aAAa,EAAE,GAAG;gBAClB,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACV,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;YACzC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;SACtD;QAED;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YAEnE,IAAI,CAAC,MAAM,CAAC;gBACX,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC;gBACd,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACV,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC3B,WAAW,EAAE,GAAG;aAChB,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;SACpD;QAED,CAAC,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACzD,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH,CAAC,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;SACjB,CAAC,CAAC;QAEH;YACC,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC;gBACX,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,aAAa,EAAE,GAAG;gBAClB,WAAW,EAAE,CAAC;aACd,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,uBAAuB,CAAC,CAAC;SACtD;IACF,CAAC;CACD","sourcesContent":["import type { InterfaceColors, IInterfaceColorsSettings } from \"../core/util/InterfaceColors\";\n\nimport { Theme } from \"../core/Theme\";\nimport { p100, p50 } from \"../core/util/Percent\";\nimport { Color } from \"../core/util/Color\";\nimport { GridLayout } from \"../core/render/GridLayout\"\n\nimport * as $ease from \"../core/util/Ease\";\n\n\ninterface Settable<A> {\n\t_settings: A;\n\tset<K extends keyof A>(key: K, value: A[K]): void;\n}\n\n/**\n * @ignore\n */\nexport function setColor<A, K extends keyof A>(rule: Settable<A>, key: K, ic: InterfaceColors, name: keyof IInterfaceColorsSettings) {\n\t// TODO this shouldn't use get, figure out a better way\n\trule.set(key, ic.get(name) as any);\n\n\tic.on(name, (value) => {\n\t\trule.set(key, value as any);\n\t});\n}\n\n/**\n * @ignore\n */\nexport class DefaultTheme extends Theme {\n\tprotected setupDefaultRules() {\n\t\tsuper.setupDefaultRules();\n\n\t\tconst language = this._root.language;\n\n\t\tconst ic = this._root.interfaceColors;\n\n\t\tconst horizontalLayout = this._root.horizontalLayout;\n\t\tconst verticalLayout = this._root.verticalLayout;\n\n\t\tconst r = this.rule.bind(this);\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * core\n\t\t * ========================================================================\n\t\t */\n\n\t\tr(\"InterfaceColors\").setAll({\n\t\t\tstroke: Color.fromHex(0xe5e5e5),\n\t\t\tfill: Color.fromHex(0xf3f3f3),\n\t\t\tprimaryButton: Color.fromHex(0x6794dc),\n\t\t\tprimaryButtonHover: Color.fromHex(0x6771dc),\n\t\t\tprimaryButtonDown: Color.fromHex(0x68dc76),\n\t\t\tprimaryButtonActive: Color.fromHex(0x68dc76),\n\t\t\tprimaryButtonText: Color.fromHex(0xffffff),\n\t\t\tprimaryButtonStroke: Color.fromHex(0xffffff),\n\t\t\tsecondaryButton: Color.fromHex(0xd9d9d9),\n\t\t\tsecondaryButtonHover: Color.fromHex(0xa3a3a3),\n\t\t\tsecondaryButtonDown: Color.fromHex(0x8d8d8d),\n\t\t\tsecondaryButtonActive: Color.fromHex(0xe6e6e6),\n\t\t\tsecondaryButtonText: Color.fromHex(0x000000),\n\t\t\tsecondaryButtonStroke: Color.fromHex(0xffffff),\n\t\t\tgrid: Color.fromHex(0x000000),\n\t\t\tbackground: Color.fromHex(0xffffff),\n\t\t\talternativeBackground: Color.fromHex(0x000000),\n\t\t\ttext: Color.fromHex(0x000000),\n\t\t\talternativeText: Color.fromHex(0xffffff),\n\t\t\tdisabled: Color.fromHex(0xadadad),\n\t\t\tpositive: Color.fromHex(0x50b300),\n\t\t\tnegative: Color.fromHex(0xb30000)\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"ColorSet\");\n\n\t\t\trule.setAll({\n\t\t\t\tpassOptions: {\n\t\t\t\t\thue: 0.05,\n\t\t\t\t\tsaturation: 0,\n\t\t\t\t\tlightness: 0\n\t\t\t\t},\n\t\t\t\tcolors: [\n\t\t\t\t\tColor.fromHex(0x67b7dc)\n\t\t\t\t],\n\t\t\t\tstep: 1,\n\t\t\t\t//baseColor: Color.fromRGB(103, 183, 220),\n\t\t\t\t//count: 20,\n\t\t\t\treuse: false,\n\t\t\t\tstartIndex: 0\n\t\t\t});\n\n\t\t\trule.setPrivate(\"currentStep\", 0);\n\t\t\trule.setPrivate(\"currentPass\", 0);\n\t\t}\n\n\t\tr(\"Entity\").setAll({\n\t\t\tstateAnimationDuration: 0,\n\t\t\tstateAnimationEasing: $ease.out($ease.cubic)\n\t\t});\n\n\t\tr(\"Component\").setAll({\n\t\t\tinterpolationDuration: 0,\n\t\t\tinterpolationEasing: $ease.out($ease.cubic)\n\t\t});\n\n\t\tr(\"Sprite\").setAll({\n\t\t\tvisible: true,\n\t\t\tscale: 1,\n\t\t\topacity: 1,\n\t\t\trotation: 0,\n\t\t\tposition: \"relative\",\n\t\t\ttooltipX: p50,\n\t\t\ttooltipY: p50,\n\t\t\ttooltipPosition: \"fixed\",\n\t\t\tisMeasured: true\n\t\t});\n\n\t\tr(\"Sprite\").states.create(\"default\", { \"visible\": true, opacity: 1 });\n\n\t\tr(\"Container\").setAll({\n\t\t\tinteractiveChildren: true,\n\t\t\tsetStateOnChildren: false\n\t\t});\n\n\t\tr(\"Graphics\").setAll({\n\t\t\tstrokeWidth: 1\n\t\t});\n\n\n\t\tr(\"Chart\").setAll({\n\t\t\twidth: p100,\n\t\t\theight: p100,\n\t\t\tinteractiveChildren: false\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: alignment\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Sprite\", [\"horizontal\", \"center\"]).setAll({\n\t\t\tcenterX: p50,\n\t\t\tx: p50\n\t\t});\n\n\t\tr(\"Sprite\", [\"vertical\", \"center\"]).setAll({\n\t\t\tcenterY: p50,\n\t\t\ty: p50\n\t\t});\n\n\t\tr(\"Container\", [\"horizontal\", \"layout\"]).setAll({\n\t\t\tlayout: horizontalLayout\n\t\t});\n\n\t\tr(\"Container\", [\"vertical\", \"layout\"]).setAll({\n\t\t\tlayout: verticalLayout\n\t\t});\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: patterns\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Pattern\").setAll({\n\t\t\trepetition: \"repeat\",\n\t\t\twidth: 50,\n\t\t\theight: 50,\n\t\t\trotation: 0,\n\t\t\tfillOpacity: 1\n\t\t});\n\n\t\tr(\"LinePattern\").setAll({\n\t\t\tgap: 6,\n\t\t\tcolorOpacity: 1,\n\t\t\twidth: 49,\n\t\t\theight: 49\n\t\t});\n\n\t\tr(\"RectanglePattern\").setAll({\n\t\t\tgap: 6,\n\t\t\tcheckered: false,\n\t\t\tcentered: true,\n\t\t\tmaxWidth: 5,\n\t\t\tmaxHeight: 5,\n\t\t\twidth: 48,\n\t\t\theight: 48,\n\t\t\tstrokeWidth: 0\n\t\t});\n\n\t\tr(\"CirclePattern\").setAll({\n\t\t\tgap: 5,\n\t\t\tcheckered: false,\n\t\t\tcentered: false,\n\t\t\tradius: 3,\n\t\t\tstrokeWidth: 0,\n\t\t\twidth: 45,\n\t\t\theight: 45\n\t\t});\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: gradients\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"LinearGradient\").setAll({\n\t\t\trotation: 90\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Legend\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Legend\").setAll({\n\t\t\tfillField: \"fill\",\n\t\t\tstrokeField: \"stroke\",\n\t\t\tnameField: \"name\",\n\t\t\tlayout: GridLayout.new(this._root, {}),\n\t\t\tlayer: 30,\n\t\t\tclickTarget: \"itemContainer\"\n\t\t});\n\n\t\t// Class: Container\n\t\tr(\"Container\", [\"legend\", \"item\", \"itemcontainer\"]).setAll({\n\t\t\tpaddingLeft: 5,\n\t\t\tpaddingRight: 5,\n\t\t\tpaddingBottom: 5,\n\t\t\tpaddingTop: 5,\n\t\t\tlayout: horizontalLayout,\n\t\t\tsetStateOnChildren: true,\n\t\t\tinteractiveChildren: false,\n\t\t\tariaChecked: true,\n\t\t\tfocusable: true,\n\t\t\tariaLabel: language.translate(\"Press ENTER to toggle\"),\n\t\t\trole: \"checkbox\"\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Rectangle\", [\"legend\", \"item\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tfillOpacity: 0,\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"background\");\n\t\t}\n\n\t\tr(\"Container\", [\"legend\", \"marker\"]).setAll({\n\t\t\tsetStateOnChildren: true,\n\t\t\tcenterY: p50,\n\t\t\tpaddingLeft: 0,\n\t\t\tpaddingRight: 0,\n\t\t\tpaddingBottom: 0,\n\t\t\tpaddingTop: 0,\n\t\t\twidth: 18,\n\t\t\theight: 18\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"legend\", \"marker\", \"rectangle\"]).setAll({\n\t\t\twidth: p100,\n\t\t\theight: p100,\n\t\t\tcornerRadiusBL: 3,\n\t\t\tcornerRadiusTL: 3,\n\t\t\tcornerRadiusBR: 3,\n\t\t\tcornerRadiusTR: 3\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"legend\", \"marker\", \"rectangle\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"disabled\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"disabled\");\n\t\t}\n\n\t\tr(\"Label\", [\"legend\", \"label\"]).setAll({\n\t\t\tcenterY: p50,\n\t\t\tmarginLeft: 5,\n\t\t\tpaddingRight: 0,\n\t\t\tpaddingLeft: 0,\n\t\t\tpaddingTop: 0,\n\t\t\tpaddingBottom: 0,\n\t\t\tpopulateText: true\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"legend\", \"label\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"disabled\");\n\t\t}\n\n\t\tr(\"Label\", [\"legend\", \"value\", \"label\"]).setAll({\n\t\t\tcenterY: p50,\n\t\t\tmarginLeft: 5,\n\t\t\tpaddingRight: 0,\n\t\t\tpaddingLeft: 0,\n\t\t\tpaddingTop: 0,\n\t\t\tpaddingBottom: 0,\n\t\t\twidth: 50,\n\t\t\tcenterX: p100,\n\t\t\tpopulateText: true\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"legend\", \"value\", \"label\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"disabled\");\n\t\t}\n\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: HeatLegend\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"HeatLegend\").setAll({\n\t\t\tstepCount: 1\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"heatlegend\", \"marker\"]).setAll({\n\t\t\tcornerRadiusTR: 0,\n\t\t\tcornerRadiusBR: 0,\n\t\t\tcornerRadiusTL: 0,\n\t\t\tcornerRadiusBL: 0\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"vertical\", \"heatlegend\", \"marker\"]).setAll({\n\t\t\theight: p100,\n\t\t\twidth: 15\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"horizontal\", \"heatlegend\", \"marker\"]).setAll({\n\t\t\twidth: p100,\n\t\t\theight: 15\n\t\t});\n\n\t\tr(\"HeatLegend\", [\"vertical\"]).setAll({\n\t\t\theight: p100\n\t\t});\n\n\t\tr(\"HeatLegend\", [\"horizontal\"]).setAll({\n\t\t\twidth: p100\n\t\t});\n\n\t\tr(\"Label\", [\"heatlegend\", \"start\"]).setAll({\n\t\t\tpaddingLeft: 5,\n\t\t\tpaddingRight: 5,\n\t\t\tpaddingTop: 5,\n\t\t\tpaddingBottom: 5\n\t\t});\n\n\t\tr(\"Label\", [\"heatlegend\", \"end\"]).setAll({\n\t\t\tpaddingLeft: 5,\n\t\t\tpaddingRight: 5,\n\t\t\tpaddingTop: 5,\n\t\t\tpaddingBottom: 5\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Labels\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\t{\n\t\t\tconst rule = r(\"Label\");\n\n\t\t\trule.setAll({\n\t\t\t\tpaddingTop: 8,\n\t\t\t\tpaddingBottom: 8,\n\t\t\t\tpaddingLeft: 10,\n\t\t\t\tpaddingRight: 10,\n\t\t\t\tfontFamily: \"-apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\"\",\n\t\t\t\tfontSize: \"1em\",\n\t\t\t\tpopulateText: false\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"text\");\n\t\t}\n\n\t\tr(\"RadialLabel\").setAll({\n\t\t\ttextType: \"regular\",\n\t\t\tcenterY: p50,\n\t\t\tcenterX: p50,\n\t\t\tinside: false,\n\t\t\tradius: 0,\n\t\t\tbaseRadius: p100,\n\t\t\torientation: \"auto\",\n\t\t\ttextAlign: \"center\"\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Elements and shapes\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"RoundedRectangle\").setAll({\n\t\t\tcornerRadiusTL: 8,\n\t\t\tcornerRadiusBL: 8,\n\t\t\tcornerRadiusTR: 8,\n\t\t\tcornerRadiusBR: 8\n\t\t});\n\n\t\tr(\"PointedRectangle\").setAll({\n\t\t\tpointerBaseWidth: 15,\n\t\t\tpointerLength: 10,\n\t\t\tcornerRadius: 8\n\t\t});\n\n\t\tr(\"Slice\").setAll({\n\t\t\tshiftRadius: 0,\n\t\t\tdRadius: 0,\n\t\t\tdInnerRadius: 0\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Tick\");\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: .15,\n\t\t\t\tisMeasured: false,\n\t\t\t\tlength: 4.5,\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tcrisp: true\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"grid\");\n\t\t}\n\n\t\tr(\"Bullet\").setAll({\n\t\t\tlocationX: 0.5,\n\t\t\tlocationY: 0.5\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Tooltip\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Tooltip\").setAll({\n\t\t\tposition: \"absolute\",\n\t\t\tgetFillFromSprite: true,\n\t\t\tgetStrokeFromSprite: false,\n\t\t\tautoTextColor: true,\n\t\t\tpaddingTop: 9,\n\t\t\tpaddingBottom: 8,\n\t\t\tpaddingLeft: 10,\n\t\t\tpaddingRight: 10,\n\t\t\tmarginBottom: 5,\n\t\t\tpointerOrientation: \"vertical\",\n\t\t\tcenterX: p50,\n\t\t\tcenterY: p50,\n\t\t\tanimationEasing: $ease.out($ease.cubic),\n\t\t\texportable: false\n\t\t\t//layer: 100\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"PointedRectangle\", [\"tooltip\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.9,\n\t\t\t\tcornerRadius: 4,\n\t\t\t\tpointerLength: 4,\n\t\t\t\tpointerBaseWidth: 8,\n\t\t\t\tfillOpacity: 0.9,\n\t\t\t\tstroke: Color.fromHex(0xffffff)\n\t\t\t});\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"tooltip\"]);\n\n\t\t\trule.setAll({\n\t\t\t\trole: \"tooltip\",\n\t\t\t\tpopulateText: true,\n\t\t\t\tpaddingRight: 0,\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingLeft: 0,\n\t\t\t\tpaddingBottom: 0\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\n\t\t}\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Button\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\").setAll({\n\t\t\tpaddingTop: 8,\n\t\t\tpaddingBottom: 8,\n\t\t\tpaddingLeft: 10,\n\t\t\tpaddingRight: 10,\n\t\t\tinteractive: true,\n\t\t\tlayout: horizontalLayout,\n\t\t\tinteractiveChildren: false,\n\t\t\tsetStateOnChildren: true,\n\t\t\tfocusable: true\n\t\t});\n\n\t\tr(\"Button\").states.create(\"hover\", {});\n\t\tr(\"Button\").states.create(\"down\", { stateAnimationDuration: 0 });\n\t\tr(\"Button\").states.create(\"active\", {});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]);\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"primaryButtonStroke\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDown\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"active\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonActive\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"button\", \"icon\"]);\n\t\t\tsetColor(rule, \"stroke\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"button\"]);\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * charts/xy: ZoomOutButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"zoom\"]).setAll({\n\t\t\tpaddingTop: 18,\n\t\t\tpaddingBottom: 18,\n\t\t\tpaddingLeft: 12,\n\t\t\tpaddingRight: 12,\n\t\t\tcenterX: 46,\n\t\t\tcenterY: -10,\n\t\t\ty: 0,\n\t\t\tx: p100,\n\t\t\trole: \"button\",\n\t\t\tariaLabel: language.translate(\"Zoom Out\"),\n\t\t\tlayer: 30\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"button\", \"zoom\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadiusBL: 40,\n\t\t\t\tcornerRadiusBR: 40,\n\t\t\t\tcornerRadiusTL: 40,\n\t\t\t\tcornerRadiusTR: 40\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"button\", \"zoom\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"button\", \"zoom\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDown\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"icon\", \"button\", \"zoom\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcrisp:true,\n\t\t\t\tstrokeOpacity: 0.7,\n\t\t\t\tdraw: (display: any) => {\n\t\t\t\t\tdisplay.moveTo(0, 0);\n\t\t\t\t\tdisplay.lineTo(12, 0);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"primaryButtonText\");\n\t\t}\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: ResizeButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"resize\"]).setAll({\n\t\t\tpaddingTop: 9,\n\t\t\tpaddingBottom: 9,\n\t\t\tpaddingLeft: 13,\n\t\t\tpaddingRight: 13,\n\t\t\tdraggable: true,\n\t\t\tcenterX: p50,\n\t\t\tcenterY: p50,\n\t\t\tposition: \"absolute\",\n\t\t\trole: \"slider\",\n\t\t\tariaValueMin: \"0\",\n\t\t\tariaValueMax: \"100\",\n\t\t\tariaLabel: language.translate(\"Use up and down arrows to move selection\")\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"resize\", \"button\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadiusBL: 40,\n\t\t\t\tcornerRadiusBR: 40,\n\t\t\t\tcornerRadiusTL: 40,\n\t\t\t\tcornerRadiusTR: 40\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButton\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"secondaryButtonStroke\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"resize\", \"button\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"resize\", \"button\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonDown\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"resize\", \"button\", \"icon\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tinteractive:false,\n\t\t\t\tcrisp: true,\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tdraw: (display: any) => {\n\t\t\t\t\tdisplay.moveTo(0, 0.5);\n\t\t\t\t\tdisplay.lineTo(0, 12.5);\n\t\t\t\t\tdisplay.moveTo(4, 0.5);\n\t\t\t\t\tdisplay.lineTo(4, 12.5);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"secondaryButtonText\");\n\t\t}\n\n\t\tr(\"Button\", [\"resize\", \"vertical\"]).setAll({\n\t\t\trotation: 90,\n\t\t\tcursorOverStyle: \"ns-resize\"\n\t\t});\n\n\t\tr(\"Button\", [\"resize\", \"horizontal\"]).setAll({\n\t\t\tcursorOverStyle: \"ew-resize\"\n\t\t});\n\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: PlayButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"play\"]).setAll({\n\t\t\tpaddingTop: 13,\n\t\t\tpaddingBottom: 13,\n\t\t\tpaddingLeft: 14,\n\t\t\tpaddingRight: 14,\n\t\t\tariaLabel: language.translate(\"Play\"),\n\t\t\ttoggleKey: \"active\"\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"play\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tcornerRadiusBL: 100,\n\t\t\t\tcornerRadiusBR: 100,\n\t\t\t\tcornerRadiusTL: 100,\n\t\t\t\tcornerRadiusTR: 100\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"play\", \"icon\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstateAnimationDuration: 0,\n\t\t\t\tdx: 1,\n\t\t\t\tdraw: (display: any) => {\n\t\t\t\t\tdisplay.moveTo(0, -5);\n\t\t\t\t\tdisplay.lineTo(8, 0);\n\t\t\t\t\tdisplay.lineTo(0, 5);\n\t\t\t\t\tdisplay.lineTo(0, -5);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\tr(\"Graphics\", [\"play\", \"icon\"]).states.create(\"default\", {\n\t\t\tstateAnimationDuration: 0\n\t\t})\n\n\t\tr(\"Graphics\", [\"play\", \"icon\"]).states.create(\"active\", {\n\t\t\tstateAnimationDuration: 0,\n\t\t\tdraw: (display: any) => {\n\t\t\t\tdisplay.moveTo(-4, -5);\n\t\t\t\tdisplay.lineTo(-1, -5);\n\t\t\t\tdisplay.lineTo(-1, 5);\n\t\t\t\tdisplay.lineTo(-4, 5);\n\t\t\t\tdisplay.lineTo(-4, -5);\n\n\t\t\t\tdisplay.moveTo(4, -5);\n\t\t\t\tdisplay.lineTo(1, -5);\n\t\t\t\tdisplay.lineTo(1, 5);\n\t\t\t\tdisplay.lineTo(4, 5);\n\t\t\t\tdisplay.lineTo(4, -5);\n\t\t\t}\n\t\t})\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: SwitchButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"switch\"]).setAll({\n\t\t\tpaddingTop: 4,\n\t\t\tpaddingBottom: 4,\n\t\t\tpaddingLeft: 4,\n\t\t\tpaddingRight: 4,\n\t\t\tariaLabel: language.translate(\"Press ENTER to toggle\"),\n\t\t\ttoggleKey: \"active\",\n\t\t\twidth: 40,\n\t\t\theight: 24,\n\t\t\tlayout: null\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"switch\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tcornerRadiusBL: 100,\n\t\t\t\tcornerRadiusBR: 100,\n\t\t\t\tcornerRadiusTL: 100,\n\t\t\t\tcornerRadiusTR: 100\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Circle\", [\"switch\", \"icon\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tradius: 8,\n\t\t\t\tcenterY: 0,\n\t\t\t\tcenterX: 0,\n\t\t\t\tdx: 0\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\tr(\"Graphics\", [\"switch\", \"icon\"]).states.create(\"active\", {\n\t\t\tdx: 16\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Scrollbar\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Scrollbar\").setAll({\n\t\t\tstart: 0,\n\t\t\tend: 1,\n\t\t\tlayer: 30,\n\t\t\tanimationEasing: $ease.out($ease.cubic)\n\t\t});\n\n\t\tr(\"Scrollbar\", [\"vertical\"]).setAll({\n\t\t\tmarginRight: 13,\n\t\t\tmarginLeft: 13,\n\t\t\tminWidth: 12,\n\t\t\theight: p100\n\t\t});\n\n\t\tr(\"Scrollbar\", [\"horizontal\"]).setAll({\n\t\t\tmarginTop: 13,\n\t\t\tmarginBottom: 13,\n\t\t\tminHeight: 12,\n\t\t\twidth: p100\n\t\t});\n\n\t\tthis.rule(\"Button\", [\"scrollbar\"]).setAll({\n\t\t\texportable: false\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"main\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadiusTL: 8,\n\t\t\t\tcornerRadiusBL: 8,\n\t\t\t\tcornerRadiusTR: 8,\n\t\t\t\tcornerRadiusBR: 8,\n\t\t\t\tfillOpacity: 0.8,\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"fill\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"thumb\"]);\n\n\t\t\trule.setAll({\n\t\t\t\trole: \"slider\",\n\t\t\t\tariaLive: \"polite\",\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tdraggable: true\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"thumb\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"thumb\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonDown\");\n\t\t}\n\n\t\tr(\"RoundedRectangle\", [\"scrollbar\", \"thumb\", \"vertical\"]).setAll({\n\t\t\tx: p50,\n\t\t\twidth: p100,\n\t\t\tcenterX: p50,\n\t\t\tariaLabel: language.translate(\"Use up and down arrows to move selection\")\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"scrollbar\", \"thumb\", \"horizontal\"]).setAll({\n\t\t\ty: p50,\n\t\t\tcenterY: p50,\n\t\t\theight: p100,\n\t\t\tariaLabel: language.translate(\"Use left and right arrows to move selection\")\n\t\t});\n\n\t\t// @todo: is this needed? used to be \"ContentScrollbar\"\n\t\t// r(\"Scrollbar\", [\"content?\"]).setAll({\n\t\t// \tmarginRight: 0,\n\t\t// \tmarginLeft: 5,\n\t\t// \tlayer: 5\n\t\t// });\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * charts/xy\n\t\t * ========================================================================\n\t\t *\n\t\t * This needs to be in DefaultTheme because it's the only theme that is\n\t\t * automatically applied to Root, and tooltips different ancestors\n\t\t * than actual charts using them.\n\t\t */\n\n\t\t{\n\t\t\tconst rule = r(\"PointedRectangle\", [\"axis\", \"tooltip\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadius: 0\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeBackground\");\n\t\t}\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\"]).setAll({\n\t\t\trole: undefined\n\t\t});\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\", \"y\"]).setAll({\n\t\t\ttextAlign: \"right\"\n\t\t});\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\", \"y\", \"opposite\"]).setAll({\n\t\t\ttextAlign: \"left\"\n\t\t});\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\", \"x\"]).setAll({\n\t\t\ttextAlign: \"center\"\n\t\t});\n\n\t\tr(\"Tooltip\", [\"categoryaxis\"]).setAll({\n\t\t\tlabelText: \"{category}\"\n\t\t})\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * Shapes\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\t// Class: Graphics\n\t\tr(\"Star\").setAll({\n\t\t\tspikes: 5,\n\t\t\tinnerRadius: 5,\n\t\t\tradius: 10\n\t\t})\n\n\t\t// STOCK\n\t\tr(\"Tooltip\", [\"stock\"]).setAll({\n\t\t\tpaddingTop: 6,\n\t\t\tpaddingBottom: 5,\n\t\t\tpaddingLeft: 7,\n\t\t\tpaddingRight: 7\n\t\t});\n\n\t\tr(\"PointedRectangle\", [\"tooltip\", \"stock\", \"axis\"]).setAll({\n\t\t\tpointerLength: 0,\n\t\t\tpointerBaseWidth: 0,\n\t\t\tcornerRadius: 3\n\t\t});\n\n\t\tr(\"Label\", [\"tooltip\", \"stock\"]).setAll({\n\t\t\tfontSize: \"0.8em\"\n\t\t});\n\n\t\t// resizer\n\n\t\tr(\"SpriteResizer\").setAll({\n\t\t\trotationStep: 10\n\t\t})\n\n\t\t{\n\t\t\tconst rule = r(\"Container\", [\"resizer\", \"grip\"]);\n\t\t\trule.states.create(\"hover\", {});\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"resizer\", \"grip\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.7,\n\t\t\t\tstrokeWidth: 1,\n\t\t\t\tfillOpacity: 1,\n\t\t\t\twidth: 12,\n\t\t\t\theight: 12\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"background\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"alternativeBackground\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"resizer\", \"grip\", \"outline\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0,\n\t\t\t\tfillOpacity: 0,\n\t\t\t\twidth: 20,\n\t\t\t\theight: 20\n\t\t\t});\n\n\t\t\trule.states.create(\"hover\", {\n\t\t\t\tfillOpacity: 0.3\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeBackground\");\n\t\t}\n\n\t\tr(\"RoundedRectangle\", [\"resizer\", \"grip\", \"left\"]).setAll({\n\t\t\tcornerRadiusBL: 0,\n\t\t\tcornerRadiusBR: 0,\n\t\t\tcornerRadiusTL: 0,\n\t\t\tcornerRadiusTR: 0\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"resizer\", \"grip\", \"right\"]).setAll({\n\t\t\tcornerRadiusBL: 0,\n\t\t\tcornerRadiusBR: 0,\n\t\t\tcornerRadiusTL: 0,\n\t\t\tcornerRadiusTR: 0\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Rectangle\", [\"resizer\", \"rectangle\"]);\n\t\t\trule.setAll({\n\t\t\t\tstrokeDasharray: [2, 2],\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tstrokeWidth: 1\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"alternativeBackground\");\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"DefaultTheme.js","sourceRoot":"","sources":["../../../../src/.internal/themes/DefaultTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InterfaceColors, IInterfaceColorsSettings } from \"../core/util/InterfaceColors\";\n\nimport { Theme } from \"../core/Theme\";\nimport { p100, p50 } from \"../core/util/Percent\";\nimport { Color } from \"../core/util/Color\";\nimport { GridLayout } from \"../core/render/GridLayout\"\n\nimport * as $ease from \"../core/util/Ease\";\n\n\ninterface Settable<A> {\n\t_settings: A;\n\tset<K extends keyof A>(key: K, value: A[K]): void;\n}\n\n/**\n * @ignore\n */\nexport function setColor<A, K extends keyof A>(rule: Settable<A>, key: K, ic: InterfaceColors, name: keyof IInterfaceColorsSettings) {\n\t// TODO this shouldn't use get, figure out a better way\n\trule.set(key, ic.get(name) as any);\n\n\tic.on(name, (value) => {\n\t\trule.set(key, value as any);\n\t});\n}\n\n/**\n * @ignore\n */\nexport class DefaultTheme extends Theme {\n\tprotected setupDefaultRules() {\n\t\tsuper.setupDefaultRules();\n\n\t\tconst language = this._root.language;\n\n\t\tconst ic = this._root.interfaceColors;\n\n\t\tconst horizontalLayout = this._root.horizontalLayout;\n\t\tconst verticalLayout = this._root.verticalLayout;\n\n\t\tconst r = this.rule.bind(this);\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * core\n\t\t * ========================================================================\n\t\t */\n\n\t\tr(\"InterfaceColors\").setAll({\n\t\t\tstroke: Color.fromHex(0xe5e5e5),\n\t\t\tfill: Color.fromHex(0xf3f3f3),\n\t\t\tprimaryButton: Color.fromHex(0x6794dc),\n\t\t\tprimaryButtonHover: Color.fromHex(0x6771dc),\n\t\t\tprimaryButtonDown: Color.fromHex(0x68dc76),\n\t\t\tprimaryButtonActive: Color.fromHex(0x68dc76),\n\t\t\tprimaryButtonText: Color.fromHex(0xffffff),\n\t\t\tprimaryButtonStroke: Color.fromHex(0xffffff),\n\t\t\tsecondaryButton: Color.fromHex(0xd9d9d9),\n\t\t\tsecondaryButtonHover: Color.fromHex(0xa3a3a3),\n\t\t\tsecondaryButtonDown: Color.fromHex(0x8d8d8d),\n\t\t\tsecondaryButtonActive: Color.fromHex(0xe6e6e6),\n\t\t\tsecondaryButtonText: Color.fromHex(0x000000),\n\t\t\tsecondaryButtonStroke: Color.fromHex(0xffffff),\n\t\t\tgrid: Color.fromHex(0x000000),\n\t\t\tbackground: Color.fromHex(0xffffff),\n\t\t\talternativeBackground: Color.fromHex(0x000000),\n\t\t\ttext: Color.fromHex(0x000000),\n\t\t\talternativeText: Color.fromHex(0xffffff),\n\t\t\tdisabled: Color.fromHex(0xadadad),\n\t\t\tpositive: Color.fromHex(0x50b300),\n\t\t\tnegative: Color.fromHex(0xb30000)\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"ColorSet\");\n\n\t\t\trule.setAll({\n\t\t\t\tpassOptions: {\n\t\t\t\t\thue: 0.05,\n\t\t\t\t\tsaturation: 0,\n\t\t\t\t\tlightness: 0\n\t\t\t\t},\n\t\t\t\tcolors: [\n\t\t\t\t\tColor.fromHex(0x67b7dc)\n\t\t\t\t],\n\t\t\t\tstep: 1,\n\t\t\t\t//baseColor: Color.fromRGB(103, 183, 220),\n\t\t\t\t//count: 20,\n\t\t\t\treuse: false,\n\t\t\t\tstartIndex: 0\n\t\t\t});\n\n\t\t\trule.setPrivate(\"currentStep\", 0);\n\t\t\trule.setPrivate(\"currentPass\", 0);\n\t\t}\n\n\t\tr(\"Entity\").setAll({\n\t\t\tstateAnimationDuration: 0,\n\t\t\tstateAnimationEasing: $ease.out($ease.cubic)\n\t\t});\n\n\t\tr(\"Component\").setAll({\n\t\t\tinterpolationDuration: 0,\n\t\t\tinterpolationEasing: $ease.out($ease.cubic)\n\t\t});\n\n\t\tr(\"Sprite\").setAll({\n\t\t\tvisible: true,\n\t\t\tscale: 1,\n\t\t\topacity: 1,\n\t\t\trotation: 0,\n\t\t\tposition: \"relative\",\n\t\t\ttooltipX: p50,\n\t\t\ttooltipY: p50,\n\t\t\ttooltipPosition: \"fixed\",\n\t\t\tisMeasured: true\n\t\t});\n\n\t\tr(\"Sprite\").states.create(\"default\", { \"visible\": true, opacity: 1 });\n\n\t\tr(\"Container\").setAll({\n\t\t\tinteractiveChildren: true,\n\t\t\tsetStateOnChildren: false\n\t\t});\n\n\t\tr(\"Graphics\").setAll({\n\t\t\tstrokeWidth: 1\n\t\t});\n\n\n\t\tr(\"Chart\").setAll({\n\t\t\twidth: p100,\n\t\t\theight: p100,\n\t\t\tinteractiveChildren: false\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: alignment\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Sprite\", [\"horizontal\", \"center\"]).setAll({\n\t\t\tcenterX: p50,\n\t\t\tx: p50\n\t\t});\n\n\t\tr(\"Sprite\", [\"vertical\", \"center\"]).setAll({\n\t\t\tcenterY: p50,\n\t\t\ty: p50\n\t\t});\n\n\t\tr(\"Container\", [\"horizontal\", \"layout\"]).setAll({\n\t\t\tlayout: horizontalLayout\n\t\t});\n\n\t\tr(\"Container\", [\"vertical\", \"layout\"]).setAll({\n\t\t\tlayout: verticalLayout\n\t\t});\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: patterns\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Pattern\").setAll({\n\t\t\trepetition: \"repeat\",\n\t\t\twidth: 50,\n\t\t\theight: 50,\n\t\t\trotation: 0,\n\t\t\tfillOpacity: 1\n\t\t});\n\n\t\tr(\"LinePattern\").setAll({\n\t\t\tgap: 6,\n\t\t\tcolorOpacity: 1,\n\t\t\twidth: 49,\n\t\t\theight: 49\n\t\t});\n\n\t\tr(\"RectanglePattern\").setAll({\n\t\t\tgap: 6,\n\t\t\tcheckered: false,\n\t\t\tcentered: true,\n\t\t\tmaxWidth: 5,\n\t\t\tmaxHeight: 5,\n\t\t\twidth: 48,\n\t\t\theight: 48,\n\t\t\tstrokeWidth: 0\n\t\t});\n\n\t\tr(\"CirclePattern\").setAll({\n\t\t\tgap: 5,\n\t\t\tcheckered: false,\n\t\t\tcentered: false,\n\t\t\tradius: 3,\n\t\t\tstrokeWidth: 0,\n\t\t\twidth: 45,\n\t\t\theight: 45\n\t\t});\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: gradients\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"LinearGradient\").setAll({\n\t\t\trotation: 90\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Legend\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Legend\").setAll({\n\t\t\tfillField: \"fill\",\n\t\t\tstrokeField: \"stroke\",\n\t\t\tnameField: \"name\",\n\t\t\tlayout: GridLayout.new(this._root, {}),\n\t\t\tlayer: 30,\n\t\t\tclickTarget: \"itemContainer\"\n\t\t});\n\n\t\t// Class: Container\n\t\tr(\"Container\", [\"legend\", \"item\", \"itemcontainer\"]).setAll({\n\t\t\tpaddingLeft: 5,\n\t\t\tpaddingRight: 5,\n\t\t\tpaddingBottom: 5,\n\t\t\tpaddingTop: 5,\n\t\t\tlayout: horizontalLayout,\n\t\t\tsetStateOnChildren: true,\n\t\t\tinteractiveChildren: false,\n\t\t\tariaChecked: true,\n\t\t\tfocusable: true,\n\t\t\tariaLabel: language.translate(\"Press ENTER to toggle\"),\n\t\t\trole: \"checkbox\"\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Rectangle\", [\"legend\", \"item\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tfillOpacity: 0,\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"background\");\n\t\t}\n\n\t\tr(\"Container\", [\"legend\", \"marker\"]).setAll({\n\t\t\tsetStateOnChildren: true,\n\t\t\tcenterY: p50,\n\t\t\tpaddingLeft: 0,\n\t\t\tpaddingRight: 0,\n\t\t\tpaddingBottom: 0,\n\t\t\tpaddingTop: 0,\n\t\t\twidth: 18,\n\t\t\theight: 18\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"legend\", \"marker\", \"rectangle\"]).setAll({\n\t\t\twidth: p100,\n\t\t\theight: p100,\n\t\t\tcornerRadiusBL: 3,\n\t\t\tcornerRadiusTL: 3,\n\t\t\tcornerRadiusBR: 3,\n\t\t\tcornerRadiusTR: 3\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"legend\", \"marker\", \"rectangle\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"disabled\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"disabled\");\n\t\t}\n\n\t\tr(\"Label\", [\"legend\", \"label\"]).setAll({\n\t\t\tcenterY: p50,\n\t\t\tmarginLeft: 5,\n\t\t\tpaddingRight: 0,\n\t\t\tpaddingLeft: 0,\n\t\t\tpaddingTop: 0,\n\t\t\tpaddingBottom: 0,\n\t\t\tpopulateText: true\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"legend\", \"label\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"disabled\");\n\t\t}\n\n\t\tr(\"Label\", [\"legend\", \"value\", \"label\"]).setAll({\n\t\t\tcenterY: p50,\n\t\t\tmarginLeft: 5,\n\t\t\tpaddingRight: 0,\n\t\t\tpaddingLeft: 0,\n\t\t\tpaddingTop: 0,\n\t\t\tpaddingBottom: 0,\n\t\t\twidth: 50,\n\t\t\tcenterX: p100,\n\t\t\tpopulateText: true\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"legend\", \"value\", \"label\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"disabled\");\n\t\t}\n\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: HeatLegend\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"HeatLegend\").setAll({\n\t\t\tstepCount: 1\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"heatlegend\", \"marker\"]).setAll({\n\t\t\tcornerRadiusTR: 0,\n\t\t\tcornerRadiusBR: 0,\n\t\t\tcornerRadiusTL: 0,\n\t\t\tcornerRadiusBL: 0\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"vertical\", \"heatlegend\", \"marker\"]).setAll({\n\t\t\theight: p100,\n\t\t\twidth: 15\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"horizontal\", \"heatlegend\", \"marker\"]).setAll({\n\t\t\twidth: p100,\n\t\t\theight: 15\n\t\t});\n\n\t\tr(\"HeatLegend\", [\"vertical\"]).setAll({\n\t\t\theight: p100\n\t\t});\n\n\t\tr(\"HeatLegend\", [\"horizontal\"]).setAll({\n\t\t\twidth: p100\n\t\t});\n\n\t\tr(\"Label\", [\"heatlegend\", \"start\"]).setAll({\n\t\t\tpaddingLeft: 5,\n\t\t\tpaddingRight: 5,\n\t\t\tpaddingTop: 5,\n\t\t\tpaddingBottom: 5\n\t\t});\n\n\t\tr(\"Label\", [\"heatlegend\", \"end\"]).setAll({\n\t\t\tpaddingLeft: 5,\n\t\t\tpaddingRight: 5,\n\t\t\tpaddingTop: 5,\n\t\t\tpaddingBottom: 5\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Labels\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\t{\n\t\t\tconst rule = r(\"Label\");\n\n\t\t\trule.setAll({\n\t\t\t\tpaddingTop: 8,\n\t\t\t\tpaddingBottom: 8,\n\t\t\t\tpaddingLeft: 10,\n\t\t\t\tpaddingRight: 10,\n\t\t\t\tfontFamily: \"-apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\"\",\n\t\t\t\tfontSize: \"1em\",\n\t\t\t\tpopulateText: false\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"text\");\n\t\t}\n\n\t\tr(\"RadialLabel\").setAll({\n\t\t\ttextType: \"regular\",\n\t\t\tcenterY: p50,\n\t\t\tcenterX: p50,\n\t\t\tinside: false,\n\t\t\tradius: 0,\n\t\t\tbaseRadius: p100,\n\t\t\torientation: \"auto\",\n\t\t\ttextAlign: \"center\"\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Elements and shapes\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"RoundedRectangle\").setAll({\n\t\t\tcornerRadiusTL: 8,\n\t\t\tcornerRadiusBL: 8,\n\t\t\tcornerRadiusTR: 8,\n\t\t\tcornerRadiusBR: 8\n\t\t});\n\n\t\tr(\"PointedRectangle\").setAll({\n\t\t\tpointerBaseWidth: 15,\n\t\t\tpointerLength: 10,\n\t\t\tcornerRadius: 8\n\t\t});\n\n\t\tr(\"Slice\").setAll({\n\t\t\tshiftRadius: 0,\n\t\t\tdRadius: 0,\n\t\t\tdInnerRadius: 0\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Tick\");\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: .15,\n\t\t\t\tisMeasured: false,\n\t\t\t\tlength: 4.5,\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tcrisp: true\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"grid\");\n\t\t}\n\n\t\tr(\"Bullet\").setAll({\n\t\t\tlocationX: 0.5,\n\t\t\tlocationY: 0.5\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Tooltip\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Tooltip\").setAll({\n\t\t\tposition: \"absolute\",\n\t\t\tgetFillFromSprite: true,\n\t\t\tgetStrokeFromSprite: false,\n\t\t\tautoTextColor: true,\n\t\t\tpaddingTop: 9,\n\t\t\tpaddingBottom: 8,\n\t\t\tpaddingLeft: 10,\n\t\t\tpaddingRight: 10,\n\t\t\tmarginBottom: 5,\n\t\t\tpointerOrientation: \"vertical\",\n\t\t\tcenterX: p50,\n\t\t\tcenterY: p50,\n\t\t\tanimationEasing: $ease.out($ease.cubic),\n\t\t\texportable: false\n\t\t\t//layer: 100\n\t\t});\n\n\t\tr(\"Polygon\").setAll({\n\t\t\tanimationEasing: $ease.out($ease.cubic),\n\t\t});\t\t\n\n\t\t{\n\t\t\tconst rule = r(\"PointedRectangle\", [\"tooltip\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.9,\n\t\t\t\tcornerRadius: 4,\n\t\t\t\tpointerLength: 4,\n\t\t\t\tpointerBaseWidth: 8,\n\t\t\t\tfillOpacity: 0.9,\n\t\t\t\tstroke: Color.fromHex(0xffffff)\n\t\t\t});\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"tooltip\"]);\n\n\t\t\trule.setAll({\n\t\t\t\trole: \"tooltip\",\n\t\t\t\tpopulateText: true,\n\t\t\t\tpaddingRight: 0,\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingLeft: 0,\n\t\t\t\tpaddingBottom: 0\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\n\t\t}\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Button\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\").setAll({\n\t\t\tpaddingTop: 8,\n\t\t\tpaddingBottom: 8,\n\t\t\tpaddingLeft: 10,\n\t\t\tpaddingRight: 10,\n\t\t\tinteractive: true,\n\t\t\tlayout: horizontalLayout,\n\t\t\tinteractiveChildren: false,\n\t\t\tsetStateOnChildren: true,\n\t\t\tfocusable: true\n\t\t});\n\n\t\tr(\"Button\").states.create(\"hover\", {});\n\t\tr(\"Button\").states.create(\"down\", { stateAnimationDuration: 0 });\n\t\tr(\"Button\").states.create(\"active\", {});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]);\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"primaryButtonStroke\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDown\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"active\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonActive\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"button\", \"icon\"]);\n\t\t\tsetColor(rule, \"stroke\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"button\"]);\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * charts/xy: ZoomOutButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"zoom\"]).setAll({\n\t\t\tpaddingTop: 18,\n\t\t\tpaddingBottom: 18,\n\t\t\tpaddingLeft: 12,\n\t\t\tpaddingRight: 12,\n\t\t\tcenterX: 46,\n\t\t\tcenterY: -10,\n\t\t\ty: 0,\n\t\t\tx: p100,\n\t\t\trole: \"button\",\n\t\t\tariaLabel: language.translate(\"Zoom Out\"),\n\t\t\tlayer: 30\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"button\", \"zoom\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadiusBL: 40,\n\t\t\t\tcornerRadiusBR: 40,\n\t\t\t\tcornerRadiusTL: 40,\n\t\t\t\tcornerRadiusTR: 40\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"button\", \"zoom\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"button\", \"zoom\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDown\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"icon\", \"button\", \"zoom\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcrisp:true,\n\t\t\t\tstrokeOpacity: 0.7,\n\t\t\t\tdraw: (display: any) => {\n\t\t\t\t\tdisplay.moveTo(0, 0);\n\t\t\t\t\tdisplay.lineTo(12, 0);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"primaryButtonText\");\n\t\t}\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: ResizeButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"resize\"]).setAll({\n\t\t\tpaddingTop: 9,\n\t\t\tpaddingBottom: 9,\n\t\t\tpaddingLeft: 13,\n\t\t\tpaddingRight: 13,\n\t\t\tdraggable: true,\n\t\t\tcenterX: p50,\n\t\t\tcenterY: p50,\n\t\t\tposition: \"absolute\",\n\t\t\trole: \"slider\",\n\t\t\tariaValueMin: \"0\",\n\t\t\tariaValueMax: \"100\",\n\t\t\tariaLabel: language.translate(\"Use up and down arrows to move selection\")\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"resize\", \"button\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadiusBL: 40,\n\t\t\t\tcornerRadiusBR: 40,\n\t\t\t\tcornerRadiusTL: 40,\n\t\t\t\tcornerRadiusTR: 40\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButton\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"secondaryButtonStroke\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"resize\", \"button\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"background\", \"resize\", \"button\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonDown\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"resize\", \"button\", \"icon\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tinteractive:false,\n\t\t\t\tcrisp: true,\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tdraw: (display: any) => {\n\t\t\t\t\tdisplay.moveTo(0, 0.5);\n\t\t\t\t\tdisplay.lineTo(0, 12.5);\n\t\t\t\t\tdisplay.moveTo(4, 0.5);\n\t\t\t\t\tdisplay.lineTo(4, 12.5);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"secondaryButtonText\");\n\t\t}\n\n\t\tr(\"Button\", [\"resize\", \"vertical\"]).setAll({\n\t\t\trotation: 90,\n\t\t\tcursorOverStyle: \"ns-resize\"\n\t\t});\n\n\t\tr(\"Button\", [\"resize\", \"horizontal\"]).setAll({\n\t\t\tcursorOverStyle: \"ew-resize\"\n\t\t});\n\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: PlayButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"play\"]).setAll({\n\t\t\tpaddingTop: 13,\n\t\t\tpaddingBottom: 13,\n\t\t\tpaddingLeft: 14,\n\t\t\tpaddingRight: 14,\n\t\t\tariaLabel: language.translate(\"Play\"),\n\t\t\ttoggleKey: \"active\"\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"play\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tcornerRadiusBL: 100,\n\t\t\t\tcornerRadiusBR: 100,\n\t\t\t\tcornerRadiusTL: 100,\n\t\t\t\tcornerRadiusTR: 100\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"play\", \"icon\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstateAnimationDuration: 0,\n\t\t\t\tdx: 1,\n\t\t\t\tdraw: (display: any) => {\n\t\t\t\t\tdisplay.moveTo(0, -5);\n\t\t\t\t\tdisplay.lineTo(8, 0);\n\t\t\t\t\tdisplay.lineTo(0, 5);\n\t\t\t\t\tdisplay.lineTo(0, -5);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\tr(\"Graphics\", [\"play\", \"icon\"]).states.create(\"default\", {\n\t\t\tstateAnimationDuration: 0\n\t\t})\n\n\t\tr(\"Graphics\", [\"play\", \"icon\"]).states.create(\"active\", {\n\t\t\tstateAnimationDuration: 0,\n\t\t\tdraw: (display: any) => {\n\t\t\t\tdisplay.moveTo(-4, -5);\n\t\t\t\tdisplay.lineTo(-1, -5);\n\t\t\t\tdisplay.lineTo(-1, 5);\n\t\t\t\tdisplay.lineTo(-4, 5);\n\t\t\t\tdisplay.lineTo(-4, -5);\n\n\t\t\t\tdisplay.moveTo(4, -5);\n\t\t\t\tdisplay.lineTo(1, -5);\n\t\t\t\tdisplay.lineTo(1, 5);\n\t\t\t\tdisplay.lineTo(4, 5);\n\t\t\t\tdisplay.lineTo(4, -5);\n\t\t\t}\n\t\t})\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: SwitchButton\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Button\", [\"switch\"]).setAll({\n\t\t\tpaddingTop: 4,\n\t\t\tpaddingBottom: 4,\n\t\t\tpaddingLeft: 4,\n\t\t\tpaddingRight: 4,\n\t\t\tariaLabel: language.translate(\"Press ENTER to toggle\"),\n\t\t\ttoggleKey: \"active\",\n\t\t\twidth: 40,\n\t\t\theight: 24,\n\t\t\tlayout: null\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"switch\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tcornerRadiusBL: 100,\n\t\t\t\tcornerRadiusBR: 100,\n\t\t\t\tcornerRadiusTL: 100,\n\t\t\t\tcornerRadiusTR: 100\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Circle\", [\"switch\", \"icon\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tradius: 8,\n\t\t\t\tcenterY: 0,\n\t\t\t\tcenterX: 0,\n\t\t\t\tdx: 0\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonText\");\n\t\t}\n\n\t\tr(\"Graphics\", [\"switch\", \"icon\"]).states.create(\"active\", {\n\t\t\tdx: 16\n\t\t});\n\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * core: Scrollbar\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\tr(\"Scrollbar\").setAll({\n\t\t\tstart: 0,\n\t\t\tend: 1,\n\t\t\tlayer: 30,\n\t\t\tanimationEasing: $ease.out($ease.cubic)\n\t\t});\n\n\t\tr(\"Scrollbar\", [\"vertical\"]).setAll({\n\t\t\tmarginRight: 13,\n\t\t\tmarginLeft: 13,\n\t\t\tminWidth: 12,\n\t\t\theight: p100\n\t\t});\n\n\t\tr(\"Scrollbar\", [\"horizontal\"]).setAll({\n\t\t\tmarginTop: 13,\n\t\t\tmarginBottom: 13,\n\t\t\tminHeight: 12,\n\t\t\twidth: p100\n\t\t});\n\n\t\tthis.rule(\"Button\", [\"scrollbar\"]).setAll({\n\t\t\texportable: false\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"main\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadiusTL: 8,\n\t\t\t\tcornerRadiusBL: 8,\n\t\t\t\tcornerRadiusTR: 8,\n\t\t\t\tcornerRadiusBR: 8,\n\t\t\t\tfillOpacity: 0.8,\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"fill\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"thumb\"]);\n\n\t\t\trule.setAll({\n\t\t\t\trole: \"slider\",\n\t\t\t\tariaLive: \"polite\",\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tdraggable: true\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButton\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"thumb\"]).states.create(\"hover\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonHover\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"scrollbar\", \"thumb\"]).states.create(\"down\", { stateAnimationDuration: 0 });\n\t\t\tsetColor(rule, \"fill\", ic, \"secondaryButtonDown\");\n\t\t}\n\n\t\tr(\"RoundedRectangle\", [\"scrollbar\", \"thumb\", \"vertical\"]).setAll({\n\t\t\tx: p50,\n\t\t\twidth: p100,\n\t\t\tcenterX: p50,\n\t\t\tariaLabel: language.translate(\"Use up and down arrows to move selection\")\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"scrollbar\", \"thumb\", \"horizontal\"]).setAll({\n\t\t\ty: p50,\n\t\t\tcenterY: p50,\n\t\t\theight: p100,\n\t\t\tariaLabel: language.translate(\"Use left and right arrows to move selection\")\n\t\t});\n\n\t\t// @todo: is this needed? used to be \"ContentScrollbar\"\n\t\t// r(\"Scrollbar\", [\"content?\"]).setAll({\n\t\t// \tmarginRight: 0,\n\t\t// \tmarginLeft: 5,\n\t\t// \tlayer: 5\n\t\t// });\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * charts/xy\n\t\t * ========================================================================\n\t\t *\n\t\t * This needs to be in DefaultTheme because it's the only theme that is\n\t\t * automatically applied to Root, and tooltips different ancestors\n\t\t * than actual charts using them.\n\t\t */\n\n\t\t{\n\t\t\tconst rule = r(\"PointedRectangle\", [\"axis\", \"tooltip\", \"background\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tcornerRadius: 0\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeBackground\");\n\t\t}\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\"]).setAll({\n\t\t\trole: undefined\n\t\t});\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\", \"y\"]).setAll({\n\t\t\ttextAlign: \"right\"\n\t\t});\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\", \"y\", \"opposite\"]).setAll({\n\t\t\ttextAlign: \"left\"\n\t\t});\n\n\t\tr(\"Label\", [\"axis\", \"tooltip\", \"x\"]).setAll({\n\t\t\ttextAlign: \"center\"\n\t\t});\n\n\t\tr(\"Tooltip\", [\"categoryaxis\"]).setAll({\n\t\t\tlabelText: \"{category}\"\n\t\t})\n\n\t\t/**\n\t\t * ------------------------------------------------------------------------\n\t\t * Shapes\n\t\t * ------------------------------------------------------------------------\n\t\t */\n\n\t\t// Class: Graphics\n\t\tr(\"Star\").setAll({\n\t\t\tspikes: 5,\n\t\t\tinnerRadius: 5,\n\t\t\tradius: 10\n\t\t})\n\n\t\t// STOCK\n\t\tr(\"Tooltip\", [\"stock\"]).setAll({\n\t\t\tpaddingTop: 6,\n\t\t\tpaddingBottom: 5,\n\t\t\tpaddingLeft: 7,\n\t\t\tpaddingRight: 7\n\t\t});\n\n\t\tr(\"PointedRectangle\", [\"tooltip\", \"stock\", \"axis\"]).setAll({\n\t\t\tpointerLength: 0,\n\t\t\tpointerBaseWidth: 0,\n\t\t\tcornerRadius: 3\n\t\t});\n\n\t\tr(\"Label\", [\"tooltip\", \"stock\"]).setAll({\n\t\t\tfontSize: \"0.8em\"\n\t\t});\n\n\t\t// resizer\n\n\t\tr(\"SpriteResizer\").setAll({\n\t\t\trotationStep: 10\n\t\t})\n\n\t\t{\n\t\t\tconst rule = r(\"Container\", [\"resizer\", \"grip\"]);\n\t\t\trule.states.create(\"hover\", {});\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"resizer\", \"grip\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0.7,\n\t\t\t\tstrokeWidth: 1,\n\t\t\t\tfillOpacity: 1,\n\t\t\t\twidth: 12,\n\t\t\t\theight: 12\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"background\");\n\t\t\tsetColor(rule, \"stroke\", ic, \"alternativeBackground\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"resizer\", \"grip\", \"outline\"]);\n\n\t\t\trule.setAll({\n\t\t\t\tstrokeOpacity: 0,\n\t\t\t\tfillOpacity: 0,\n\t\t\t\twidth: 20,\n\t\t\t\theight: 20\n\t\t\t});\n\n\t\t\trule.states.create(\"hover\", {\n\t\t\t\tfillOpacity: 0.3\n\t\t\t});\n\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeBackground\");\n\t\t}\n\n\t\tr(\"RoundedRectangle\", [\"resizer\", \"grip\", \"left\"]).setAll({\n\t\t\tcornerRadiusBL: 0,\n\t\t\tcornerRadiusBR: 0,\n\t\t\tcornerRadiusTL: 0,\n\t\t\tcornerRadiusTR: 0\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"resizer\", \"grip\", \"right\"]).setAll({\n\t\t\tcornerRadiusBL: 0,\n\t\t\tcornerRadiusBR: 0,\n\t\t\tcornerRadiusTL: 0,\n\t\t\tcornerRadiusTR: 0\n\t\t});\n\n\t\t{\n\t\t\tconst rule = r(\"Rectangle\", [\"resizer\", \"rectangle\"]);\n\t\t\trule.setAll({\n\t\t\t\tstrokeDasharray: [2, 2],\n\t\t\t\tstrokeOpacity: 0.5,\n\t\t\t\tstrokeWidth: 1\n\t\t\t});\n\n\t\t\tsetColor(rule, \"stroke\", ic, \"alternativeBackground\");\n\t\t}\n\t}\n}\n"]}
package/CHANGELOG.md CHANGED
@@ -5,10 +5,41 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5
5
  Please note, that this project, while following numbering syntax, it DOES NOT
6
6
  adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) rules.
7
7
 
8
+ ## [5.4.0] - 2023-07-04
9
+
10
+ ### Added
11
+ - New hierarchy-based series: Voronoi Treemap. [More info](https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/).
12
+ - New flow-based series: Arc Diagram. [More info](https://www.amcharts.com/docs/v5/charts/flow-charts/arc-diagram/).
13
+
14
+ ### Changed
15
+ - Label wrapping mechanism will now treat a [zero-width space](https://en.wikipedia.org/wiki/Zero-width_space) character as a word break.
16
+
17
+
18
+ ## [5.3.17] - 2023-06-28
19
+
20
+ ### Added
21
+ - `getTooltipText()` method on `Axis` has a second parameter `adjustPosition` (default: `true`). Affects only `DateAxis`. If set to `false` will not adjust position before formatting date by base interval.
22
+ - `Root` element now has three additional settings: `focusable`, `ariaLabel`, and `role` (all are empty by default). [More info](https://www.amcharts.com/docs/v5/concepts/accessibility/#Accessibility_of_Root_element).
23
+
24
+ ### Changed
25
+ - Accessibility: The `role` of the `<div>` element that holds focusable elements is changed to `graphics-document` (was `application`) to better reflect interactive element. [More info](https://www.w3.org/TR/graphics-aria-1.0/#graphics-document).
26
+ - Accessibility: `<div>` element that holds `<canas>` elements has now `aria-hidden="true"` set.
27
+ - If using `type` with the JSON plugin, it will now always replace the existing Entity instead of merging.
28
+
29
+ ### Fixed
30
+ - `ariaLabel` on horizontal scrollbar grips were being populated to a slightly wider range than actual range of the related `DateAxis`.
31
+ - `ExportingMenu` methods `open()` and `toggle()` were not working when attached to click events on external elements.
32
+ - Stock charts `DateRangeSelector` was allowing pickers to go outside selectable date range.
33
+ - The JSON plugin can now change properties on a `ListTemplate` (like `grid`). [More info](https://www.amcharts.com/docs/v5/concepts/serializing/#Templates).
34
+ - Tooltip was not always hidden when `sprite.hideTooltip()` was called.
35
+ - If a mouse pointer was over a `Sprite` and `tooltipPosition` was changed from `"fixed"` to `"pointer"`, it was not following mouse unless you unhovered and then hovered over sprite again.
36
+
37
+
8
38
  ## [5.3.16] - 2023-06-13
9
39
 
10
40
  ### Fixed
11
41
  - Legend label's were losing their disabled state if labels were updated by moving cursor.
42
+ - `XYCursor` will no longre freeze when selecting and pointer moves out of plot area.
12
43
  - `Treemap`'s focus navigation using arrow keys and `focusableGroup` was not working properly.
13
44
  - `Annotator` plugin was sometimes retaining drawings after drawing was cancelled.
14
45
 
@@ -0,0 +1,6 @@
1
+ Steps to use
2
+ ============
3
+
4
+ 1. Run `yarn`
5
+
6
+ 2. Run `yarn start` for development, or `yarn build` for production
@@ -0,0 +1,11 @@
1
+ body {
2
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
3
+ padding: 0;
4
+ margin: 0;
5
+ background-color: #ffffff;
6
+ }
7
+
8
+ #chartdiv {
9
+ width: 100%;
10
+ height: 80vh;
11
+ }