@amcharts/amcharts5 5.9.10 → 5.9.12

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 (187) hide show
  1. package/.internal/charts/map/ClusteredPointSeries.d.ts +22 -0
  2. package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
  3. package/.internal/charts/map/ClusteredPointSeries.js +135 -63
  4. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  5. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  6. package/.internal/charts/map/MapChart.js +18 -0
  7. package/.internal/charts/map/MapChart.js.map +1 -1
  8. package/.internal/charts/map/MapPolygon.d.ts +1 -0
  9. package/.internal/charts/map/MapPolygon.d.ts.map +1 -1
  10. package/.internal/charts/map/MapPolygon.js +4 -0
  11. package/.internal/charts/map/MapPolygon.js.map +1 -1
  12. package/.internal/charts/stock/toolbar/DrawingControl.d.ts.map +1 -1
  13. package/.internal/charts/stock/toolbar/DrawingControl.js +8 -3
  14. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  15. package/.internal/charts/venn/Venn.d.ts.map +1 -1
  16. package/.internal/charts/venn/Venn.js +8 -6
  17. package/.internal/charts/venn/Venn.js.map +1 -1
  18. package/.internal/charts/xy/axes/AxisRenderer.d.ts +3 -0
  19. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  20. package/.internal/charts/xy/axes/AxisRenderer.js +3 -0
  21. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  22. package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -1
  23. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  24. package/.internal/charts/xy/axes/ValueAxis.js +25 -3
  25. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  26. package/.internal/core/Registry.js +1 -1
  27. package/.internal/core/Registry.js.map +1 -1
  28. package/.internal/core/render/ZoomTools.d.ts +2 -1
  29. package/.internal/core/render/ZoomTools.d.ts.map +1 -1
  30. package/.internal/core/render/ZoomTools.js +35 -2
  31. package/.internal/core/render/ZoomTools.js.map +1 -1
  32. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  33. package/.internal/core/render/backend/CanvasRenderer.js +6 -0
  34. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  35. package/.internal/core/util/InterfaceColors.d.ts +8 -0
  36. package/.internal/core/util/InterfaceColors.d.ts.map +1 -1
  37. package/.internal/core/util/InterfaceColors.js.map +1 -1
  38. package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
  39. package/.internal/core/util/NumberFormatter.js +5 -2
  40. package/.internal/core/util/NumberFormatter.js.map +1 -1
  41. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  42. package/.internal/themes/DefaultTheme.js +20 -0
  43. package/.internal/themes/DefaultTheme.js.map +1 -1
  44. package/CHANGELOG.md +26 -0
  45. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  46. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  47. package/examples/javascript/flow-chord/package.json +1 -1
  48. package/examples/javascript/flow-chord-directed/package.json +1 -1
  49. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  50. package/examples/javascript/flow-sankey/package.json +1 -1
  51. package/examples/javascript/gauge/package.json +1 -1
  52. package/examples/javascript/gauge-bands/package.json +1 -1
  53. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  54. package/examples/javascript/hierarchy-pack/package.json +1 -1
  55. package/examples/javascript/hierarchy-partition/package.json +1 -1
  56. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  57. package/examples/javascript/hierarchy-tree/package.json +1 -1
  58. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  59. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  60. package/examples/javascript/jest/package.json +1 -1
  61. package/examples/javascript/json-pie/package.json +1 -1
  62. package/examples/javascript/json-xy/package.json +1 -1
  63. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  64. package/examples/javascript/map-clustered-points/package.json +1 -1
  65. package/examples/javascript/map-day-and-night/package.json +1 -1
  66. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  67. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  68. package/examples/javascript/map-with-bubbles/package.json +1 -1
  69. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  70. package/examples/javascript/misc-40-charts/package.json +1 -1
  71. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  72. package/examples/javascript/pie-chart/package.json +1 -1
  73. package/examples/javascript/pie-donut-chart/package.json +1 -1
  74. package/examples/javascript/pie-variable-radius/package.json +1 -1
  75. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  76. package/examples/javascript/radar-heat-map/package.json +1 -1
  77. package/examples/javascript/radar-line/package.json +1 -1
  78. package/examples/javascript/radar-time-line/package.json +1 -1
  79. package/examples/javascript/sliced-funnel/package.json +1 -1
  80. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  81. package/examples/javascript/sliced-pyramid/package.json +1 -1
  82. package/examples/javascript/stock-chart/package.json +1 -1
  83. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  84. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  85. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  86. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  87. package/examples/javascript/stock-chart-live/package.json +1 -1
  88. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  89. package/examples/javascript/venn-diagram/package.json +1 -1
  90. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  91. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  92. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  93. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  94. package/examples/javascript/xy-bubble/package.json +1 -1
  95. package/examples/javascript/xy-candlestick/package.json +1 -1
  96. package/examples/javascript/xy-clustered-column/package.json +1 -1
  97. package/examples/javascript/xy-column/package.json +1 -1
  98. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  99. package/examples/javascript/xy-data-grouping/package.json +1 -1
  100. package/examples/javascript/xy-draggable-range/package.json +1 -1
  101. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  102. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  103. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  104. package/examples/javascript/xy-line/package.json +1 -1
  105. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  106. package/examples/javascript/xy-live-data/package.json +1 -1
  107. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  108. package/examples/javascript/xy-ohlc/package.json +1 -1
  109. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  110. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  111. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  112. package/examples/javascript/xy-stacked-column/package.json +1 -1
  113. package/examples/javascript/xy-stacked-step/package.json +1 -1
  114. package/examples/javascript/xy-stock/package.json +1 -1
  115. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  116. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  117. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  118. package/examples/typescript/flow-chord/package.json +1 -1
  119. package/examples/typescript/flow-chord-directed/package.json +1 -1
  120. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  121. package/examples/typescript/flow-sankey/package.json +1 -1
  122. package/examples/typescript/gauge/package.json +1 -1
  123. package/examples/typescript/gauge-bands/package.json +1 -1
  124. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  125. package/examples/typescript/hierarchy-pack/package.json +1 -1
  126. package/examples/typescript/hierarchy-partition/package.json +1 -1
  127. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  128. package/examples/typescript/hierarchy-tree/package.json +1 -1
  129. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  130. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  131. package/examples/typescript/jest/package.json +1 -1
  132. package/examples/typescript/json-pie/package.json +1 -1
  133. package/examples/typescript/json-xy/package.json +1 -1
  134. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  135. package/examples/typescript/map-clustered-points/package.json +1 -1
  136. package/examples/typescript/map-day-and-night/package.json +1 -1
  137. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  138. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  139. package/examples/typescript/map-with-bubbles/package.json +1 -1
  140. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  141. package/examples/typescript/misc-40-charts/package.json +1 -1
  142. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  143. package/examples/typescript/pie-chart/package.json +1 -1
  144. package/examples/typescript/pie-donut-chart/package.json +1 -1
  145. package/examples/typescript/pie-variable-radius/package.json +1 -1
  146. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  147. package/examples/typescript/radar-heat-map/package.json +1 -1
  148. package/examples/typescript/radar-line/package.json +1 -1
  149. package/examples/typescript/radar-time-line/package.json +1 -1
  150. package/examples/typescript/sliced-funnel/package.json +1 -1
  151. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  152. package/examples/typescript/sliced-pyramid/package.json +1 -1
  153. package/examples/typescript/stock-chart/package.json +1 -1
  154. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  155. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  156. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  157. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  158. package/examples/typescript/stock-chart-live/package.json +1 -1
  159. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  160. package/examples/typescript/venn-diagram/package.json +1 -1
  161. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  162. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  163. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  164. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  165. package/examples/typescript/xy-bubble/package.json +1 -1
  166. package/examples/typescript/xy-candlestick/package.json +1 -1
  167. package/examples/typescript/xy-clustered-column/package.json +1 -1
  168. package/examples/typescript/xy-column/package.json +1 -1
  169. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  170. package/examples/typescript/xy-data-grouping/package.json +1 -1
  171. package/examples/typescript/xy-draggable-range/package.json +1 -1
  172. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  173. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  174. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  175. package/examples/typescript/xy-line/package.json +1 -1
  176. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  177. package/examples/typescript/xy-live-data/package.json +1 -1
  178. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  179. package/examples/typescript/xy-ohlc/package.json +1 -1
  180. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  181. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  182. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  183. package/examples/typescript/xy-stacked-column/package.json +1 -1
  184. package/examples/typescript/xy-stacked-step/package.json +1 -1
  185. package/examples/typescript/xy-stock/package.json +1 -1
  186. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  187. package/package.json +1 -1
@@ -25,6 +25,14 @@ export interface IInterfaceColorsSettings extends IEntitySettings {
25
25
  * Primary button fill color when it is set as active.
26
26
  */
27
27
  primaryButtonActive?: Color;
28
+ /**
29
+ * Primary button fill color when it is set as disabled.
30
+ */
31
+ primaryButtonDisabled?: Color;
32
+ /**
33
+ * Primary button text color when it is set as disabled.
34
+ */
35
+ primaryButtonTextDisabled?: Color;
28
36
  /**
29
37
  * Primary button text color.
30
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceColors.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/InterfaceColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGlD,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAE1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAE1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAA;CAEhB;AAGD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC1C,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEjF,SAAS,EAAE,wBAAwB,CAAC;CACnD"}
1
+ {"version":3,"file":"InterfaceColors.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/InterfaceColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGlD,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAE1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,yBAAyB,CAAC,EAAE,KAAK,CAAC;IAElC;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAE1B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAE5B;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC;IAE9B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAA;CAEhB;AAGD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC1C,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEjF,SAAS,EAAE,wBAAwB,CAAC;CACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"InterfaceColors.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/InterfaceColors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAmB,MAAM,UAAU,CAAA;AAwHlD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;;AAC1C;;;;WAAkC,iBAAiB;GAAC;AACpD;;;;WAA0C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { Color } from \"./Color\"\n\nimport { Entity, IEntitySettings } from \"./Entity\"\n\n\nexport interface IInterfaceColorsSettings extends IEntitySettings {\n\n\t/**\n\t * Used for generic outlines.\n\t */\n\tstroke?: Color,\n\n\t/**\n\t * Used for generic fills.\n\t */\n\tfill?: Color,\n\n\t/**\n\t * Primary button fill color.\n\t */\n\tprimaryButton?: Color,\n\n\t/**\n\t * Primary button fill color on hover.\n\t */\n\tprimaryButtonHover?: Color,\n\n\t/**\n\t * Primary button fill color when pressing down on it.\n\t */\n\tprimaryButtonDown?: Color,\n\n\t/**\n\t * Primary button fill color when it is set as active.\n\t */\n\tprimaryButtonActive?: Color,\n\n\t/**\n\t * Primary button text color.\n\t */\n\tprimaryButtonText?: Color,\n\n\t/**\n\t * Primary button stroke (outline) color.\n\t */\n\tprimaryButtonStroke?: Color,\n\n\t/**\n\t * Secondary button fill color.\n\t */\n\tsecondaryButton?: Color,\n\n\t/**\n\t * Secondary button fill color on hover.\n\t */\n\tsecondaryButtonHover?: Color,\n\n\t/**\n\t * Secondary button fill color when pressing down on it.\n\t */\n\tsecondaryButtonDown?: Color,\n\n\t/**\n\t * Secondary button fill color when it is set as active.\n\t */\n\tsecondaryButtonActive?: Color,\n\n\t/**\n\t * Secondary button text color.\n\t */\n\tsecondaryButtonText?: Color,\n\n\t/**\n\t * Secondary button stroke (outline) color.\n\t */\n\tsecondaryButtonStroke?: Color,\n\n\t/**\n\t * Grid color.\n\t */\n\tgrid?: Color,\n\n\t/**\n\t * Chart background color.\n\t */\n\tbackground?: Color,\n\n\t/**\n\t * Alternative background, for elements that need to contrast with primary\n\t * background.\n\t */\n\talternativeBackground?: Color,\n\n\t/**\n\t * Label text color.\n\t */\n\ttext?: Color,\n\n\t/**\n\t * Alternative text color, used for inverted (dark) backgrounds.\n\t * @type {[type]}\n\t */\n\talternativeText?: Color,\n\n\t/**\n\t * Color for disabled elements.\n\t */\n\tdisabled?: Color,\n\n\t/**\n\t * Color to indicate positive value.\n\t */\n\tpositive?: Color,\n\n\t/**\n\t * Color to indicate negative value.\n\t */\n\tnegative?: Color\n\n}\n\n\n/**\n * Presets for common UI elements.\n */\nexport class InterfaceColors extends Entity {\n\tpublic static className: string = \"InterfaceColors\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([InterfaceColors.className]);\n\n\tdeclare public _settings: IInterfaceColorsSettings;\n}\n"]}
1
+ {"version":3,"file":"InterfaceColors.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/InterfaceColors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAmB,MAAM,UAAU,CAAA;AAkIlD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,MAAM;;AAC1C;;;;WAAkC,iBAAiB;GAAC;AACpD;;;;WAA0C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { Color } from \"./Color\"\n\nimport { Entity, IEntitySettings } from \"./Entity\"\n\n\nexport interface IInterfaceColorsSettings extends IEntitySettings {\n\n\t/**\n\t * Used for generic outlines.\n\t */\n\tstroke?: Color,\n\n\t/**\n\t * Used for generic fills.\n\t */\n\tfill?: Color,\n\n\t/**\n\t * Primary button fill color.\n\t */\n\tprimaryButton?: Color,\n\n\t/**\n\t * Primary button fill color on hover.\n\t */\n\tprimaryButtonHover?: Color,\n\n\t/**\n\t * Primary button fill color when pressing down on it.\n\t */\n\tprimaryButtonDown?: Color,\n\n\t/**\n\t * Primary button fill color when it is set as active.\n\t */\n\tprimaryButtonActive?: Color,\n\n\t/**\n\t * Primary button fill color when it is set as disabled.\n\t */\n\tprimaryButtonDisabled?: Color,\t\n\n\t/**\n\t * Primary button text color when it is set as disabled.\n\t */\n\tprimaryButtonTextDisabled?: Color,\n\n\t/**\n\t * Primary button text color.\n\t */\n\tprimaryButtonText?: Color,\t\n\n\t/**\n\t * Primary button stroke (outline) color.\n\t */\n\tprimaryButtonStroke?: Color,\n\n\t/**\n\t * Secondary button fill color.\n\t */\n\tsecondaryButton?: Color,\n\n\t/**\n\t * Secondary button fill color on hover.\n\t */\n\tsecondaryButtonHover?: Color,\n\n\t/**\n\t * Secondary button fill color when pressing down on it.\n\t */\n\tsecondaryButtonDown?: Color,\n\n\t/**\n\t * Secondary button fill color when it is set as active.\n\t */\n\tsecondaryButtonActive?: Color,\n\n\t/**\n\t * Secondary button text color.\n\t */\n\tsecondaryButtonText?: Color,\n\n\t/**\n\t * Secondary button stroke (outline) color.\n\t */\n\tsecondaryButtonStroke?: Color,\n\n\t/**\n\t * Grid color.\n\t */\n\tgrid?: Color,\n\n\t/**\n\t * Chart background color.\n\t */\n\tbackground?: Color,\n\n\t/**\n\t * Alternative background, for elements that need to contrast with primary\n\t * background.\n\t */\n\talternativeBackground?: Color,\n\n\t/**\n\t * Label text color.\n\t */\n\ttext?: Color,\n\n\t/**\n\t * Alternative text color, used for inverted (dark) backgrounds.\n\t * @type {[type]}\n\t */\n\talternativeText?: Color,\n\n\t/**\n\t * Color for disabled elements.\n\t */\n\tdisabled?: Color,\n\n\t/**\n\t * Color to indicate positive value.\n\t */\n\tpositive?: Color,\n\n\t/**\n\t * Color to indicate negative value.\n\t */\n\tnegative?: Color\n\n}\n\n\n/**\n * Presets for common UI elements.\n */\nexport class InterfaceColors extends Entity {\n\tpublic static className: string = \"InterfaceColors\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([InterfaceColors.className]);\n\n\tdeclare public _settings: IInterfaceColorsSettings;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAOlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CAEnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IA4Cf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAoE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAgN9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IA6I1D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,EAAE;IA0CpF;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC"}
1
+ {"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAOlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CAEnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IA4Cf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAoE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAgN9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IAgJ1D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,EAAE;IA0CpF;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC"}
@@ -370,8 +370,11 @@ export class NumberFormatter extends Entity {
370
370
  value = Math.round(value);
371
371
  }
372
372
  else if (details.decimals.passive > 0) {
373
- let d = Math.pow(10, details.decimals.passive);
374
- value = Math.round(value * d) / d;
373
+ const decimals = $utils.decimalPlaces(value);
374
+ if (decimals > 0) {
375
+ const d = Math.pow(10, details.decimals.passive);
376
+ value = Math.round(parseFloat((value * d).toFixed(decimals))) / d;
377
+ }
375
378
  }
376
379
  // Init return value
377
380
  let res = "";
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Language } from \"./Language\";\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\";\n\nimport * as $object from \"./Object\";\nimport * as $utils from \"./Utils\";\nimport * as $type from \"./Type\";\n\n/**\n * @ignore\n */\nexport interface INumberSuffix {\n\tnumber: number;\n\tsuffix: string;\n}\n\nexport interface INumberFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Number format to be used when formatting numbers.\n\t *\n\t * @default \"#,###.#####\"\n\t */\n\tnumberFormat?: string | Intl.NumberFormatOptions;\n\n\t/**\n\t * A threshold value for negative numbers.\n\t *\n\t * @default 0\n\t */\n\tnegativeBase?: number;\n\n\t/**\n\t * Prefixes and thresholds to group big numbers into, e.g. 1M.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tbigNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * Prefixes and thresholds to group small numbers into, e.g. 1m.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tsmallNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * All numbers below this value are considered small.\n\t *\n\t * @default 1\n\t */\n\tsmallNumberThreshold?: number;\n\n\t/**\n\t * Prefixes to and thresholds to use when grouping data size numbers, e.g. 1MB.\n\t *\n\t * Used in conjunction with `b` modifier of the number format.\n\t */\n\tbytePrefixes?: INumberSuffix[];\n\n\t/**\n\t * Indicates which fields in data should be considered numeric.\n\t *\n\t * It is used when formatting data placeholder values.\n\t */\n\tnumericFields?: string[];\n\n\t/**\n\t * Locales if you are using date formats in `Intl.NumberFormatOptions` syntax.\n\t *\n\t * @see (@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) about using Intl for number formatting\n\t * @param value Locales\n\t */\n\tintlLocales?: string;\n\n\t/**\n\t * If set to `true` will force the number string to be LTR, even if RTL is\n\t * enabled.\n\t * \n\t * @default false\n\t * @since 5.3.13\n\t */\n\tforceLTR?: boolean;\n\n}\n\nexport interface INumberFormatterPrivate extends IEntityPrivate {\n}\n\n/**\n * Number formatter\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-numbers/} for more info\n * @important\n */\nexport class NumberFormatter extends Entity {\n\tdeclare public _settings: INumberFormatterSettings;\n\tdeclare public _privateSettings: INumberFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"negativeBase\", 0);\n\t\tthis._setDefault(\"numberFormat\", \"#,###.#####\");\n\t\tthis._setDefault(\"smallNumberThreshold\", 1.00);\n\n\t\tconst bns = \"_big_number_suffix_\";\n\t\tconst sns = \"_small_number_suffix_\";\n\t\tconst bs = \"_byte_suffix_\";\n\n\t\tthis._setDefault(\"bigNumberPrefixes\", [\n\t\t\t{ \"number\": 1e+3, \"suffix\": this._t(bns + \"3\") },\n\t\t\t{ \"number\": 1e+6, \"suffix\": this._t(bns + \"6\") },\n\t\t\t{ \"number\": 1e+9, \"suffix\": this._t(bns + \"9\") },\n\t\t\t{ \"number\": 1e+12, \"suffix\": this._t(bns + \"12\") },\n\t\t\t{ \"number\": 1e+15, \"suffix\": this._t(bns + \"15\") },\n\t\t\t{ \"number\": 1e+18, \"suffix\": this._t(bns + \"18\") },\n\t\t\t{ \"number\": 1e+21, \"suffix\": this._t(bns + \"21\") },\n\t\t\t{ \"number\": 1e+24, \"suffix\": this._t(bns + \"24\") }\n\t\t]);\n\n\t\tthis._setDefault(\"smallNumberPrefixes\", [\n\t\t\t{ \"number\": 1e-24, \"suffix\": this._t(sns + \"24\") },\n\t\t\t{ \"number\": 1e-21, \"suffix\": this._t(sns + \"21\") },\n\t\t\t{ \"number\": 1e-18, \"suffix\": this._t(sns + \"18\") },\n\t\t\t{ \"number\": 1e-15, \"suffix\": this._t(sns + \"15\") },\n\t\t\t{ \"number\": 1e-12, \"suffix\": this._t(sns + \"12\") },\n\t\t\t{ \"number\": 1e-9, \"suffix\": this._t(sns + \"9\") },\n\t\t\t{ \"number\": 1e-6, \"suffix\": this._t(sns + \"6\") },\n\t\t\t{ \"number\": 1e-3, \"suffix\": this._t(sns + \"3\") }\n\t\t]);\n\n\t\tthis._setDefault(\"bytePrefixes\", [\n\t\t\t{ \"number\": 1, suffix: this._t(bs + \"B\") },\n\t\t\t{ \"number\": 1024, suffix: this._t(bs + \"KB\") },\n\t\t\t{ \"number\": 1048576, suffix: this._t(bs + \"MB\") },\n\t\t\t{ \"number\": 1073741824, suffix: this._t(bs + \"GB\") },\n\t\t\t{ \"number\": 1099511627776, suffix: this._t(bs + \"TB\") },\n\t\t\t{ \"number\": 1125899906842624, suffix: this._t(bs + \"PB\") }\n\t\t]);\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\t/**\n\t * Formats the number according to specific format.\n\t *\n\t * @param value Value to format\n\t * @param format Format to apply\n\t * @return Formatted number\n\t */\n\tpublic format(value: number | string, format?: string | Intl.NumberFormatOptions, precision?: number): string {\n\n\t\t// no format passed in or \"Number\"\n\t\tif (format == null || ($type.isString(format) && format.toLowerCase() === \"number\")) {\n\t\t\tformat = this.get(\"numberFormat\", \"\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast to number just in case\n\t\t// TODO: maybe use better casting\n\t\tlet source: number = Number(value);\n\n\t\t// Is it a built-in format or Intl.NumberFormatOptions\n\t\tif ($type.isObject(format)) {\n\t\t\ttry {\n\t\t\t\tif (this.get(\"intlLocales\")) {\n\t\t\t\t\treturn new Intl.NumberFormat(this.get(\"intlLocales\"), <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.NumberFormat(undefined, <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\t\telse {\n\n\t\t\t// Clean format\n\t\t\tformat = $utils.cleanFormat(format!);\n\n\t\t\t// Get format info (it will also deal with parser caching)\n\t\t\tlet info = this.parseFormat(format, this._root.language);\n\n\n\t\t\t// format and replace the number\n\t\t\tlet details;\n\t\t\tif (source > this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.positive;\n\t\t\t}\n\t\t\telse if (source < this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.negative;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdetails = info.zero;\n\t\t\t}\n\n\t\t\t// Adjust precision\n\t\t\tif (precision != null && !details.mod) {\n\t\t\t\tdetails = $object.copy(details);\n\t\t\t\tdetails.decimals.active = source == 0 ? 0 : precision;\n\t\t\t}\n\n\t\t\t// Format\n\t\t\tformatted = details.template.split($type.PLACEHOLDER).join(this.applyFormat(source, details));\n\n\t\t}\n\n\t\tif (this.get(\"forceLTR\") === true) {\n\t\t\tformatted = \"‎\" + formatted;\n\t\t}\n\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Parses supplied format into structured object which can be used to format\n\t * the number.\n\t *\n\t * @param format Format string, i.e. \"#,###.00\"\n\t * @param language Language\n\t * @ignore\n\t */\n\tprotected parseFormat(format: string, language: Language): any {\n\n\t\t// Check cache\n\t\t// TODO\n\t\t// let cached = this.getCache(format);\n\t\t// if (cached != null) {\n\t\t// \treturn cached;\n\t\t// }\n\n\t\tconst thousandSeparator = language.translateEmpty(\"_thousandSeparator\");\n\t\tconst decimalSeparator = language.translateEmpty(\"_decimalSeparator\")\n\n\t\t// init format parse info holder\n\t\tlet info: any = {\n\t\t\t\"positive\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": thousandSeparator\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": decimalSeparator\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"negative\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": thousandSeparator\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": decimalSeparator\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"zero\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": thousandSeparator\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": decimalSeparator\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t}\n\t\t};\n\n\t\t// Escape double vertical bars (that mean display one vertical bar)\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\n\n\t\t// Split it up and deal with different formats\n\t\tlet parts = format.split(\"|\");\n\t\tinfo.positive.source = parts[0];\n\n\t\tif (typeof parts[2] === \"undefined\") {\n\t\t\tinfo.zero = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.zero.source = parts[2];\n\t\t}\n\n\t\tif (typeof parts[1] === \"undefined\") {\n\t\t\tinfo.negative = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.negative.source = parts[1];\n\t\t}\n\n\t\t// Parse each\n\t\t$object.each(info, (_part, item) => {\n\t\t\t// Already parsed\n\t\t\tif (item.parsed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check cached\n\t\t\t// TODO\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\n\t\t\t// \tinfo[part] = this.getCache(item.source);\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\t// Begin parsing\n\t\t\tlet partFormat = item.source;\n\n\t\t\t// Just \"Number\"?\n\t\t\tif (partFormat.toLowerCase() === \"number\") {\n\t\t\t\tpartFormat = this.get(\"numberFormat\", \"#,###.#####\");\n\t\t\t}\n\n\t\t\t// Let TextFormatter split into chunks\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\t\tlet chunk = chunks[i];\n\n\t\t\t\t// replace back double vertical bar\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\n\n\t\t\t\tif (chunk.type === \"value\") {\n\t\t\t\t\t// Parse format\n\n\t\t\t\t\t// Look for codes\n\t\t\t\t\tlet matches: string[] | null = chunk.text.match(/[#0.,]+[ ]?[abespABESP%!]?[abespABESP‰!]?/);\n\n\t\t\t\t\tif (matches) {\n\t\t\t\t\t\tif (matches === null || matches[0] === \"\") {\n\t\t\t\t\t\t\t// no codes here - assume string\n\t\t\t\t\t\t\t// nothing to do here\n\t\t\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t// look for the format modifiers at the end\n\t\t\t\t\t\t\tlet mods: string[] | null = matches[0].match(/[abespABESP%‰!]{2}|[abespABESP%‰]{1}$/);\n\n\t\t\t\t\t\t\tif (mods) {\n\t\t\t\t\t\t\t\titem.mod = mods[0].toLowerCase();\n\t\t\t\t\t\t\t\titem.modSpacing = matches[0].match(/[ ]{1}[abespABESP%‰!]{1}$/) ? true : false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// break the format up\n\t\t\t\t\t\t\tlet a = matches[0].split(\".\");\n\n\t\t\t\t\t\t\t// Deal with thousands\n\t\t\t\t\t\t\tif (a[0] === \"\") {\n\t\t\t\t\t\t\t\t// No directives for thousands\n\t\t\t\t\t\t\t\t// Leave default settings (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.thousands.active = (a[0].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.thousands.passive = (a[0].match(/\\#/g) || []).length + item.thousands.active;\n\n\t\t\t\t\t\t\t\t// Separator interval\n\t\t\t\t\t\t\t\tlet b = a[0].split(\",\");\n\t\t\t\t\t\t\t\tif (b.length === 1) {\n\t\t\t\t\t\t\t\t\t// No thousands separators\n\t\t\t\t\t\t\t\t\t// Do nothing\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t// Use length fo the last chunk as thousands length\n\t\t\t\t\t\t\t\t\titem.thousands.interval = (b.pop() || \"\").length;\n\n\t\t\t\t\t\t\t\t\tif (item.thousands.interval === 0) {\n\t\t\t\t\t\t\t\t\t\titem.thousands.interval = -1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Deal with decimals\n\t\t\t\t\t\t\tif (typeof (a[1]) === \"undefined\") {\n\t\t\t\t\t\t\t\t// No directives for decimals\n\t\t\t\t\t\t\t\t// Leave at defaults (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.decimals.active = (a[1].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.decimals.passive = (a[1].match(/\\#/g) || []).length + item.decimals.active;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Add special code to template\n\t\t\t\t\t\t\titem.template += chunk.text.split(matches[0]).join($type.PLACEHOLDER);\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Quoted string - take it as it is\n\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply style formatting\n\t\t\t//item.template = getTextFormatter().format(item.template, this.outputFormat);\n\n\t\t\t// Save cache\n\t\t\t// TODO\n\t\t\t//this.setCache(item.source, item);\n\n\t\t\t// Mark this as parsed\n\t\t\titem.parsed = true;\n\n\t\t});\n\n\t\t// Save cache (the whole thing)\n\t\t// TODO\n\t\t//this.setCache(format, info);\n\n\t\treturn info;\n\t}\n\n\t/**\n\t * Applies parsed format to a numeric value.\n\t *\n\t * @param value Value\n\t * @param details Parsed format as returned by parseFormat()\n\t * @return Formatted number\n\t * @ignore\n\t */\n\tprotected applyFormat(value: number, details: any): string {\n\n\t\t// Use absolute values\n\t\tlet negative: boolean = value < 0;\n\t\tvalue = Math.abs(value);\n\n\t\t// Recalculate according to modifier\n\t\tlet prefix: string = \"\", suffix: string = \"\";\n\t\tlet mods: string[] = details.mod ? details.mod.split(\"\") : [];\n\t\tif (mods.indexOf(\"b\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, this.get(\"bytePrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"a\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, value < this.get(\"smallNumberThreshold\")! ? this.get(\"smallNumberPrefixes\")! : this.get(\"bigNumberPrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"p\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\t//value *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tprefix = this._root.language.translate(\"_percentPrefix\");\n\t\t\tsuffix = this._root.language.translate(\"_percentSuffix\");\n\t\t\tif (prefix == \"\" && suffix == \"\") {\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"%\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\tvalue *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"%\";\n\t\t}\n\t\telse if (mods.indexOf(\"‰\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 3, 21);\n\t\t\tvalue *= 1000;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"‰\";\n\t\t}\n\n\t\t// Round to passive\n\t\tif (mods.indexOf(\"e\") !== -1) {\n\t\t\t// convert the value to exponential\n\t\t\tlet exp: string[];\n\t\t\tif (details.decimals.passive >= 0) {\n\t\t\t\texp = value.toExponential(details.decimals.passive).split(\"e\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\texp = value.toExponential().split(\"e\");\n\t\t\t}\n\t\t\tvalue = Number(exp[0]);\n\t\t\tsuffix = \"e\" + exp[1];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (details.decimals.passive === 0) {\n\t\t\tvalue = Math.round(value);\n\t\t}\n\t\telse if (details.decimals.passive > 0) {\n\t\t\tlet d: number = Math.pow(10, details.decimals.passive);\n\t\t\tvalue = Math.round(value * d) / d;\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: string = \"\";\n\n\t\t// Calc integer and decimal parts\n\t\tlet a = $type.numberToString(value).split(\".\");\n\n\t\t// Format integers\n\t\tlet ints = a[0];\n\n\t\t// Pad integers to active length\n\t\tif (ints.length < details.thousands.active) {\n\t\t\tints = Array(details.thousands.active - ints.length + 1).join(\"0\") + ints;\n\t\t}\n\n\t\t// Insert thousands separators\n\t\tif (details.thousands.interval > 0) {\n\t\t\tlet ip: string[] = [];\n\t\t\tlet intsr: string = ints.split(\"\").reverse().join(\"\");\n\t\t\tfor (let i = 0, len = ints.length; i <= len; i += details.thousands.interval) {\n\t\t\t\tlet c: string = intsr.substr(i, details.thousands.interval).split(\"\").reverse().join(\"\");\n\t\t\t\tif (c !== \"\") {\n\t\t\t\t\tip.unshift(c);\n\t\t\t\t}\n\t\t\t}\n\t\t\tints = ip.join(details.thousands.separator);\n\t\t}\n\n\t\t// Add integers\n\t\tres += ints;\n\n\t\t// Add decimals\n\t\tif (a.length === 1) {\n\t\t\ta.push(\"\");\n\t\t}\n\t\tlet decs: string = a[1];\n\n\t\t// Fill zeros?\n\t\tif (decs.length < details.decimals.active) {\n\t\t\tdecs += Array(details.decimals.active - decs.length + 1).join(\"0\");\n\t\t}\n\n\t\tif (decs !== \"\") {\n\t\t\tres += details.decimals.separator + decs;\n\t\t}\n\n\t\t// Can't have empty return value\n\t\tif (res === \"\") {\n\t\t\tres = \"0\";\n\t\t}\n\n\t\t// Add minus sign back\n\t\tif (value !== 0 && negative && (mods.indexOf(\"s\") === -1)) {\n\t\t\tres = \"-\" + res;\n\t\t}\n\n\t\t// Add suffixes/prefixes\n\t\tif (prefix) {\n\t\t\tres = prefix + res;\n\t\t}\n\t\tif (suffix) {\n\t\t\tres += suffix;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\n\tprotected applyPrefix(value: number, prefixes: any[], force: boolean = false): any[] {\n\t\tlet newvalue = value;\n\t\tlet prefix = \"\";\n\t\tlet suffix = \"\";\n\t\tlet applied = false;\n\t\tlet k = 1;\n\n\t\tfor (let i = 0, len = prefixes.length; i < len; i++) {\n\t\t\tif (prefixes[i].number <= value) {\n\t\t\t\tif (prefixes[i].number === 0) {\n\t\t\t\t\tnewvalue = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewvalue = value / prefixes[i].number;\n\t\t\t\t\tk = prefixes[i].number;\n\t\t\t\t}\n\t\t\t\tprefix = prefixes[i].prefix;\n\t\t\t\tsuffix = prefixes[i].suffix;\n\t\t\t\tapplied = true;\n\t\t\t}\n\t\t}\n\n\n\t\tif (!applied && force && prefixes.length && value != 0) {\n\t\t\t// Prefix was not applied. Use the first prefix.\n\t\t\tnewvalue = value / prefixes[0].number;\n\t\t\tprefix = prefixes[0].prefix;\n\t\t\tsuffix = prefixes[0].suffix;\n\t\t\tapplied = true;\n\t\t}\n\n\t\tif (applied) {\n\t\t\tnewvalue = parseFloat(\n\t\t\t\tnewvalue.toPrecision(\n\t\t\t\t\tMath.min(k.toString().length + Math.floor(newvalue).toString().replace(/[^0-9]*/g, \"\").length, 21)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn [newvalue, prefix, suffix];\n\t}\n\n\t/**\n\t * Replaces brackets with temporary placeholders.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Input text\n\t * @return Escaped text\n\t */\n\tpublic escape(text: string): string {\n\t\treturn text.replace(\"||\", $type.PLACEHOLDER2);\n\t}\n\n\t/**\n\t * Replaces placeholders back to brackets.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Escaped text\n\t * @return Unescaped text\n\t */\n\tpublic unescape(text: string): string {\n\t\treturn text.replace($type.PLACEHOLDER2, \"|\");\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Language } from \"./Language\";\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\";\n\nimport * as $object from \"./Object\";\nimport * as $utils from \"./Utils\";\nimport * as $type from \"./Type\";\n\n/**\n * @ignore\n */\nexport interface INumberSuffix {\n\tnumber: number;\n\tsuffix: string;\n}\n\nexport interface INumberFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Number format to be used when formatting numbers.\n\t *\n\t * @default \"#,###.#####\"\n\t */\n\tnumberFormat?: string | Intl.NumberFormatOptions;\n\n\t/**\n\t * A threshold value for negative numbers.\n\t *\n\t * @default 0\n\t */\n\tnegativeBase?: number;\n\n\t/**\n\t * Prefixes and thresholds to group big numbers into, e.g. 1M.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tbigNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * Prefixes and thresholds to group small numbers into, e.g. 1m.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tsmallNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * All numbers below this value are considered small.\n\t *\n\t * @default 1\n\t */\n\tsmallNumberThreshold?: number;\n\n\t/**\n\t * Prefixes to and thresholds to use when grouping data size numbers, e.g. 1MB.\n\t *\n\t * Used in conjunction with `b` modifier of the number format.\n\t */\n\tbytePrefixes?: INumberSuffix[];\n\n\t/**\n\t * Indicates which fields in data should be considered numeric.\n\t *\n\t * It is used when formatting data placeholder values.\n\t */\n\tnumericFields?: string[];\n\n\t/**\n\t * Locales if you are using date formats in `Intl.NumberFormatOptions` syntax.\n\t *\n\t * @see (@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) about using Intl for number formatting\n\t * @param value Locales\n\t */\n\tintlLocales?: string;\n\n\t/**\n\t * If set to `true` will force the number string to be LTR, even if RTL is\n\t * enabled.\n\t * \n\t * @default false\n\t * @since 5.3.13\n\t */\n\tforceLTR?: boolean;\n\n}\n\nexport interface INumberFormatterPrivate extends IEntityPrivate {\n}\n\n/**\n * Number formatter\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-numbers/} for more info\n * @important\n */\nexport class NumberFormatter extends Entity {\n\tdeclare public _settings: INumberFormatterSettings;\n\tdeclare public _privateSettings: INumberFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"negativeBase\", 0);\n\t\tthis._setDefault(\"numberFormat\", \"#,###.#####\");\n\t\tthis._setDefault(\"smallNumberThreshold\", 1.00);\n\n\t\tconst bns = \"_big_number_suffix_\";\n\t\tconst sns = \"_small_number_suffix_\";\n\t\tconst bs = \"_byte_suffix_\";\n\n\t\tthis._setDefault(\"bigNumberPrefixes\", [\n\t\t\t{ \"number\": 1e+3, \"suffix\": this._t(bns + \"3\") },\n\t\t\t{ \"number\": 1e+6, \"suffix\": this._t(bns + \"6\") },\n\t\t\t{ \"number\": 1e+9, \"suffix\": this._t(bns + \"9\") },\n\t\t\t{ \"number\": 1e+12, \"suffix\": this._t(bns + \"12\") },\n\t\t\t{ \"number\": 1e+15, \"suffix\": this._t(bns + \"15\") },\n\t\t\t{ \"number\": 1e+18, \"suffix\": this._t(bns + \"18\") },\n\t\t\t{ \"number\": 1e+21, \"suffix\": this._t(bns + \"21\") },\n\t\t\t{ \"number\": 1e+24, \"suffix\": this._t(bns + \"24\") }\n\t\t]);\n\n\t\tthis._setDefault(\"smallNumberPrefixes\", [\n\t\t\t{ \"number\": 1e-24, \"suffix\": this._t(sns + \"24\") },\n\t\t\t{ \"number\": 1e-21, \"suffix\": this._t(sns + \"21\") },\n\t\t\t{ \"number\": 1e-18, \"suffix\": this._t(sns + \"18\") },\n\t\t\t{ \"number\": 1e-15, \"suffix\": this._t(sns + \"15\") },\n\t\t\t{ \"number\": 1e-12, \"suffix\": this._t(sns + \"12\") },\n\t\t\t{ \"number\": 1e-9, \"suffix\": this._t(sns + \"9\") },\n\t\t\t{ \"number\": 1e-6, \"suffix\": this._t(sns + \"6\") },\n\t\t\t{ \"number\": 1e-3, \"suffix\": this._t(sns + \"3\") }\n\t\t]);\n\n\t\tthis._setDefault(\"bytePrefixes\", [\n\t\t\t{ \"number\": 1, suffix: this._t(bs + \"B\") },\n\t\t\t{ \"number\": 1024, suffix: this._t(bs + \"KB\") },\n\t\t\t{ \"number\": 1048576, suffix: this._t(bs + \"MB\") },\n\t\t\t{ \"number\": 1073741824, suffix: this._t(bs + \"GB\") },\n\t\t\t{ \"number\": 1099511627776, suffix: this._t(bs + \"TB\") },\n\t\t\t{ \"number\": 1125899906842624, suffix: this._t(bs + \"PB\") }\n\t\t]);\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\t/**\n\t * Formats the number according to specific format.\n\t *\n\t * @param value Value to format\n\t * @param format Format to apply\n\t * @return Formatted number\n\t */\n\tpublic format(value: number | string, format?: string | Intl.NumberFormatOptions, precision?: number): string {\n\n\t\t// no format passed in or \"Number\"\n\t\tif (format == null || ($type.isString(format) && format.toLowerCase() === \"number\")) {\n\t\t\tformat = this.get(\"numberFormat\", \"\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast to number just in case\n\t\t// TODO: maybe use better casting\n\t\tlet source: number = Number(value);\n\n\t\t// Is it a built-in format or Intl.NumberFormatOptions\n\t\tif ($type.isObject(format)) {\n\t\t\ttry {\n\t\t\t\tif (this.get(\"intlLocales\")) {\n\t\t\t\t\treturn new Intl.NumberFormat(this.get(\"intlLocales\"), <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.NumberFormat(undefined, <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\t\telse {\n\n\t\t\t// Clean format\n\t\t\tformat = $utils.cleanFormat(format!);\n\n\t\t\t// Get format info (it will also deal with parser caching)\n\t\t\tlet info = this.parseFormat(format, this._root.language);\n\n\n\t\t\t// format and replace the number\n\t\t\tlet details;\n\t\t\tif (source > this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.positive;\n\t\t\t}\n\t\t\telse if (source < this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.negative;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdetails = info.zero;\n\t\t\t}\n\n\t\t\t// Adjust precision\n\t\t\tif (precision != null && !details.mod) {\n\t\t\t\tdetails = $object.copy(details);\n\t\t\t\tdetails.decimals.active = source == 0 ? 0 : precision;\n\t\t\t}\n\n\t\t\t// Format\n\t\t\tformatted = details.template.split($type.PLACEHOLDER).join(this.applyFormat(source, details));\n\n\t\t}\n\n\t\tif (this.get(\"forceLTR\") === true) {\n\t\t\tformatted = \"‎\" + formatted;\n\t\t}\n\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Parses supplied format into structured object which can be used to format\n\t * the number.\n\t *\n\t * @param format Format string, i.e. \"#,###.00\"\n\t * @param language Language\n\t * @ignore\n\t */\n\tprotected parseFormat(format: string, language: Language): any {\n\n\t\t// Check cache\n\t\t// TODO\n\t\t// let cached = this.getCache(format);\n\t\t// if (cached != null) {\n\t\t// \treturn cached;\n\t\t// }\n\n\t\tconst thousandSeparator = language.translateEmpty(\"_thousandSeparator\");\n\t\tconst decimalSeparator = language.translateEmpty(\"_decimalSeparator\")\n\n\t\t// init format parse info holder\n\t\tlet info: any = {\n\t\t\t\"positive\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": thousandSeparator\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": decimalSeparator\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"negative\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": thousandSeparator\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": decimalSeparator\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"zero\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": thousandSeparator\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": decimalSeparator\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t}\n\t\t};\n\n\t\t// Escape double vertical bars (that mean display one vertical bar)\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\n\n\t\t// Split it up and deal with different formats\n\t\tlet parts = format.split(\"|\");\n\t\tinfo.positive.source = parts[0];\n\n\t\tif (typeof parts[2] === \"undefined\") {\n\t\t\tinfo.zero = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.zero.source = parts[2];\n\t\t}\n\n\t\tif (typeof parts[1] === \"undefined\") {\n\t\t\tinfo.negative = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.negative.source = parts[1];\n\t\t}\n\n\t\t// Parse each\n\t\t$object.each(info, (_part, item) => {\n\t\t\t// Already parsed\n\t\t\tif (item.parsed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check cached\n\t\t\t// TODO\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\n\t\t\t// \tinfo[part] = this.getCache(item.source);\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\t// Begin parsing\n\t\t\tlet partFormat = item.source;\n\n\t\t\t// Just \"Number\"?\n\t\t\tif (partFormat.toLowerCase() === \"number\") {\n\t\t\t\tpartFormat = this.get(\"numberFormat\", \"#,###.#####\");\n\t\t\t}\n\n\t\t\t// Let TextFormatter split into chunks\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\t\tlet chunk = chunks[i];\n\n\t\t\t\t// replace back double vertical bar\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\n\n\t\t\t\tif (chunk.type === \"value\") {\n\t\t\t\t\t// Parse format\n\n\t\t\t\t\t// Look for codes\n\t\t\t\t\tlet matches: string[] | null = chunk.text.match(/[#0.,]+[ ]?[abespABESP%!]?[abespABESP‰!]?/);\n\n\t\t\t\t\tif (matches) {\n\t\t\t\t\t\tif (matches === null || matches[0] === \"\") {\n\t\t\t\t\t\t\t// no codes here - assume string\n\t\t\t\t\t\t\t// nothing to do here\n\t\t\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t// look for the format modifiers at the end\n\t\t\t\t\t\t\tlet mods: string[] | null = matches[0].match(/[abespABESP%‰!]{2}|[abespABESP%‰]{1}$/);\n\n\t\t\t\t\t\t\tif (mods) {\n\t\t\t\t\t\t\t\titem.mod = mods[0].toLowerCase();\n\t\t\t\t\t\t\t\titem.modSpacing = matches[0].match(/[ ]{1}[abespABESP%‰!]{1}$/) ? true : false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// break the format up\n\t\t\t\t\t\t\tlet a = matches[0].split(\".\");\n\n\t\t\t\t\t\t\t// Deal with thousands\n\t\t\t\t\t\t\tif (a[0] === \"\") {\n\t\t\t\t\t\t\t\t// No directives for thousands\n\t\t\t\t\t\t\t\t// Leave default settings (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.thousands.active = (a[0].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.thousands.passive = (a[0].match(/\\#/g) || []).length + item.thousands.active;\n\n\t\t\t\t\t\t\t\t// Separator interval\n\t\t\t\t\t\t\t\tlet b = a[0].split(\",\");\n\t\t\t\t\t\t\t\tif (b.length === 1) {\n\t\t\t\t\t\t\t\t\t// No thousands separators\n\t\t\t\t\t\t\t\t\t// Do nothing\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t// Use length fo the last chunk as thousands length\n\t\t\t\t\t\t\t\t\titem.thousands.interval = (b.pop() || \"\").length;\n\n\t\t\t\t\t\t\t\t\tif (item.thousands.interval === 0) {\n\t\t\t\t\t\t\t\t\t\titem.thousands.interval = -1;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Deal with decimals\n\t\t\t\t\t\t\tif (typeof (a[1]) === \"undefined\") {\n\t\t\t\t\t\t\t\t// No directives for decimals\n\t\t\t\t\t\t\t\t// Leave at defaults (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.decimals.active = (a[1].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.decimals.passive = (a[1].match(/\\#/g) || []).length + item.decimals.active;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Add special code to template\n\t\t\t\t\t\t\titem.template += chunk.text.split(matches[0]).join($type.PLACEHOLDER);\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Quoted string - take it as it is\n\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply style formatting\n\t\t\t//item.template = getTextFormatter().format(item.template, this.outputFormat);\n\n\t\t\t// Save cache\n\t\t\t// TODO\n\t\t\t//this.setCache(item.source, item);\n\n\t\t\t// Mark this as parsed\n\t\t\titem.parsed = true;\n\n\t\t});\n\n\t\t// Save cache (the whole thing)\n\t\t// TODO\n\t\t//this.setCache(format, info);\n\n\t\treturn info;\n\t}\n\n\t/**\n\t * Applies parsed format to a numeric value.\n\t *\n\t * @param value Value\n\t * @param details Parsed format as returned by parseFormat()\n\t * @return Formatted number\n\t * @ignore\n\t */\n\tprotected applyFormat(value: number, details: any): string {\n\n\t\t// Use absolute values\n\t\tlet negative: boolean = value < 0;\n\t\tvalue = Math.abs(value);\n\n\t\t// Recalculate according to modifier\n\t\tlet prefix: string = \"\", suffix: string = \"\";\n\t\tlet mods: string[] = details.mod ? details.mod.split(\"\") : [];\n\t\tif (mods.indexOf(\"b\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, this.get(\"bytePrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"a\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, value < this.get(\"smallNumberThreshold\")! ? this.get(\"smallNumberPrefixes\")! : this.get(\"bigNumberPrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"p\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\t//value *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tprefix = this._root.language.translate(\"_percentPrefix\");\n\t\t\tsuffix = this._root.language.translate(\"_percentSuffix\");\n\t\t\tif (prefix == \"\" && suffix == \"\") {\n\t\t\t\tsuffix = \"%\";\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"%\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\tvalue *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"%\";\n\t\t}\n\t\telse if (mods.indexOf(\"‰\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 3, 21);\n\t\t\tvalue *= 1000;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"‰\";\n\t\t}\n\n\t\t// Round to passive\n\t\tif (mods.indexOf(\"e\") !== -1) {\n\t\t\t// convert the value to exponential\n\t\t\tlet exp: string[];\n\t\t\tif (details.decimals.passive >= 0) {\n\t\t\t\texp = value.toExponential(details.decimals.passive).split(\"e\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\texp = value.toExponential().split(\"e\");\n\t\t\t}\n\t\t\tvalue = Number(exp[0]);\n\t\t\tsuffix = \"e\" + exp[1];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (details.decimals.passive === 0) {\n\t\t\tvalue = Math.round(value);\n\t\t}\n\t\telse if (details.decimals.passive > 0) {\n\t\t\tconst decimals = $utils.decimalPlaces(value);\n\t\t\tif (decimals > 0) {\n\t\t\t\tconst d = Math.pow(10, details.decimals.passive);\n\t\t\t\tvalue = Math.round(parseFloat((value * d).toFixed(decimals))) / d;\n\t\t\t}\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: string = \"\";\n\n\t\t// Calc integer and decimal parts\n\t\tlet a = $type.numberToString(value).split(\".\");\n\n\t\t// Format integers\n\t\tlet ints = a[0];\n\n\t\t// Pad integers to active length\n\t\tif (ints.length < details.thousands.active) {\n\t\t\tints = Array(details.thousands.active - ints.length + 1).join(\"0\") + ints;\n\t\t}\n\n\t\t// Insert thousands separators\n\t\tif (details.thousands.interval > 0) {\n\t\t\tlet ip: string[] = [];\n\t\t\tlet intsr: string = ints.split(\"\").reverse().join(\"\");\n\t\t\tfor (let i = 0, len = ints.length; i <= len; i += details.thousands.interval) {\n\t\t\t\tlet c: string = intsr.substr(i, details.thousands.interval).split(\"\").reverse().join(\"\");\n\t\t\t\tif (c !== \"\") {\n\t\t\t\t\tip.unshift(c);\n\t\t\t\t}\n\t\t\t}\n\t\t\tints = ip.join(details.thousands.separator);\n\t\t}\n\n\t\t// Add integers\n\t\tres += ints;\n\n\t\t// Add decimals\n\t\tif (a.length === 1) {\n\t\t\ta.push(\"\");\n\t\t}\n\t\tlet decs: string = a[1];\n\n\t\t// Fill zeros?\n\t\tif (decs.length < details.decimals.active) {\n\t\t\tdecs += Array(details.decimals.active - decs.length + 1).join(\"0\");\n\t\t}\n\n\t\tif (decs !== \"\") {\n\t\t\tres += details.decimals.separator + decs;\n\t\t}\n\n\t\t// Can't have empty return value\n\t\tif (res === \"\") {\n\t\t\tres = \"0\";\n\t\t}\n\n\t\t// Add minus sign back\n\t\tif (value !== 0 && negative && (mods.indexOf(\"s\") === -1)) {\n\t\t\tres = \"-\" + res;\n\t\t}\n\n\t\t// Add suffixes/prefixes\n\t\tif (prefix) {\n\t\t\tres = prefix + res;\n\t\t}\n\t\tif (suffix) {\n\t\t\tres += suffix;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\n\tprotected applyPrefix(value: number, prefixes: any[], force: boolean = false): any[] {\n\t\tlet newvalue = value;\n\t\tlet prefix = \"\";\n\t\tlet suffix = \"\";\n\t\tlet applied = false;\n\t\tlet k = 1;\n\n\t\tfor (let i = 0, len = prefixes.length; i < len; i++) {\n\t\t\tif (prefixes[i].number <= value) {\n\t\t\t\tif (prefixes[i].number === 0) {\n\t\t\t\t\tnewvalue = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewvalue = value / prefixes[i].number;\n\t\t\t\t\tk = prefixes[i].number;\n\t\t\t\t}\n\t\t\t\tprefix = prefixes[i].prefix;\n\t\t\t\tsuffix = prefixes[i].suffix;\n\t\t\t\tapplied = true;\n\t\t\t}\n\t\t}\n\n\n\t\tif (!applied && force && prefixes.length && value != 0) {\n\t\t\t// Prefix was not applied. Use the first prefix.\n\t\t\tnewvalue = value / prefixes[0].number;\n\t\t\tprefix = prefixes[0].prefix;\n\t\t\tsuffix = prefixes[0].suffix;\n\t\t\tapplied = true;\n\t\t}\n\n\t\tif (applied) {\n\t\t\tnewvalue = parseFloat(\n\t\t\t\tnewvalue.toPrecision(\n\t\t\t\t\tMath.min(k.toString().length + Math.floor(newvalue).toString().replace(/[^0-9]*/g, \"\").length, 21)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn [newvalue, prefix, suffix];\n\t}\n\n\t/**\n\t * Replaces brackets with temporary placeholders.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Input text\n\t * @return Escaped text\n\t */\n\tpublic escape(text: string): string {\n\t\treturn text.replace(\"||\", $type.PLACEHOLDER2);\n\t}\n\n\t/**\n\t * Replaces placeholders back to brackets.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Escaped text\n\t * @return Unescaped text\n\t */\n\tpublic unescape(text: string): string {\n\t\treturn text.replace($type.PLACEHOLDER2, \"|\");\n\t}\n\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;CAskC3B"}
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;CA6lC3B"}
@@ -36,6 +36,8 @@ export class DefaultTheme extends Theme {
36
36
  primaryButtonHover: Color.fromHex(0x6771dc),
37
37
  primaryButtonDown: Color.fromHex(0x68dc76),
38
38
  primaryButtonActive: Color.fromHex(0x68dc76),
39
+ primaryButtonDisabled: Color.fromHex(0xdadada),
40
+ primaryButtonTextDisabled: Color.fromHex(0xffffff),
39
41
  primaryButtonText: Color.fromHex(0xffffff),
40
42
  primaryButtonStroke: Color.fromHex(0xffffff),
41
43
  secondaryButton: Color.fromHex(0xd9d9d9),
@@ -468,6 +470,9 @@ export class DefaultTheme extends Theme {
468
470
  r("Button").states.create("hover", {});
469
471
  r("Button").states.create("down", { stateAnimationDuration: 0 });
470
472
  r("Button").states.create("active", {});
473
+ r("Button").states.create("disabled", {
474
+ forceInactive: true
475
+ });
471
476
  {
472
477
  const rule = r("RoundedRectangle", ["button", "background"]);
473
478
  setColor(rule, "fill", ic, "primaryButton");
@@ -485,8 +490,23 @@ export class DefaultTheme extends Theme {
485
490
  const rule = r("RoundedRectangle", ["button", "background"]).states.create("active", {});
486
491
  setColor(rule, "fill", ic, "primaryButtonActive");
487
492
  }
493
+ {
494
+ const rule = r("RoundedRectangle", ["button", "background"]).states.create("disabled", {});
495
+ setColor(rule, "fill", ic, "primaryButtonDisabled");
496
+ }
497
+ {
498
+ const rule = r("Graphics", ["button", "icon"]).states.create("disabled", {});
499
+ setColor(rule, "fill", ic, "primaryButtonTextDisabled");
500
+ }
501
+ {
502
+ const rule = r("Label", ["button"]).states.create("disabled", {});
503
+ setColor(rule, "fill", ic, "primaryButtonTextDisabled");
504
+ }
488
505
  {
489
506
  const rule = r("Graphics", ["button", "icon"]);
507
+ rule.setAll({
508
+ forceInactive: true
509
+ });
490
510
  setColor(rule, "stroke", ic, "primaryButtonText");
491
511
  }
492
512
  {
@@ -1 +1 @@
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\t\tr(\"ZoomableContainer\").setAll({\n\t\t\twidth: p100,\n\t\t\theight: p100,\n\t\t\twheelable: true,\n\t\t\tpinchZoom: true,\n\t\t\tmaxZoomLevel: 32,\n\t\t\tminZoomLevel: 1,\n\t\t\tzoomStep: 2,\n\t\t\tanimationEasing: $ease.out($ease.cubic),\n\t\t\tanimationDuration: 600\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\tr(\"GrainPattern\").setAll({\n\t\t\twidth: 200,\n\t\t\theight: 200,\n\t\t\tcolors: [Color.fromHex(0x000000)],\n\t\t\tsize: 1,\n\t\t\thorizontalGap: 0,\n\t\t\tverticalGap: 0,\n\t\t\tdensity: 1,\n\t\t\tminOpacity: 0,\n\t\t\tmaxOpacity: 0.2\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\t\tr(\"EditableLabel\").setAll({\n\t\t\teditOn: \"click\",\n\t\t\t//setStateOnChildren: true,\n\t\t\tthemeTags: [\"editablelabel\"],\n\t\t\tmultiLine: true\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"editablelabel\", \"background\"]).setAll({\n\t\t\tfillOpacity: 0,\n\t\t\tfill: Color.fromHex(0x000000),\n\t\t\tcornerRadiusBL: 3,\n\t\t\tcornerRadiusBR: 3,\n\t\t\tcornerRadiusTL: 3,\n\t\t\tcornerRadiusTR: 3,\n\t\t\tstrokeOpacity: 0,\n\t\t\tstroke: Color.fromHex(0x000000)\t\t\t\n\t\t});\n\n\t\t{\n\t\t\tr(\"RoundedRectangle\", [\"editablelabel\", \"background\"]).states.create(\"active\", {\n\t\t\t\tstrokeOpacity: 0.2,\n\t\t\t});\n\t\t}\n\n\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});\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\tisMeasured: false\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\n\t\tr(\"Graphics\", [\"button\", \"plus\", \"icon\"]).setAll({\n\t\t\tx: p50,\n\t\t\ty: p50,\n\t\t\tdraw: (display) => {\n\t\t\t\tdisplay.moveTo(-4, 0);\n\t\t\t\tdisplay.lineTo(4, 0);\n\t\t\t\tdisplay.moveTo(0, -4);\n\t\t\t\tdisplay.lineTo(0, 4);\n\t\t\t}\n\t\t});\n\n\t\tr(\"Graphics\", [\"button\", \"minus\", \"icon\"]).setAll({\n\t\t\tx: p50,\n\t\t\ty: p50,\n\t\t\tdraw: (display) => {\n\t\t\t\tdisplay.moveTo(-4, 0);\n\t\t\t\tdisplay.lineTo(4, 0);\n\t\t\t}\n\t\t});\n\n\t\tr(\"Graphics\", [\"button\", \"home\", \"icon\"]).setAll({\n\t\t\tx: p50,\n\t\t\ty: p50,\n\t\t\tsvgPath: \"M 8 -1 L 6 -1 L 6 7 L 2 7 L 2 1 L -2 1 L -2 7 L -6 7 L -6 -1 L -8 -1 L 0 -9 L 8 -1 Z M 8 -1\"\n\t\t});\n\n\t\tr(\"Button\", [\"zoomtools\"]).setAll({\n\t\t\tmarginTop: 1,\n\t\t\tmarginBottom: 2\n\t\t})\n\n\t\tr(\"ZoomTools\").setAll({\n\t\t\tx: p100,\n\t\t\tcenterX: p100,\n\t\t\ty: p100,\n\t\t\tcenterY: p100,\n\t\t\tpaddingRight: 10,\n\t\t\tpaddingBottom: 10\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\tprimaryButtonDisabled: Color.fromHex(0xdadada),\n\t\t\tprimaryButtonTextDisabled: Color.fromHex(0xffffff),\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\t\tr(\"ZoomableContainer\").setAll({\n\t\t\twidth: p100,\n\t\t\theight: p100,\n\t\t\twheelable: true,\n\t\t\tpinchZoom: true,\n\t\t\tmaxZoomLevel: 32,\n\t\t\tminZoomLevel: 1,\n\t\t\tzoomStep: 2,\n\t\t\tanimationEasing: $ease.out($ease.cubic),\n\t\t\tanimationDuration: 600\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\tr(\"GrainPattern\").setAll({\n\t\t\twidth: 200,\n\t\t\theight: 200,\n\t\t\tcolors: [Color.fromHex(0x000000)],\n\t\t\tsize: 1,\n\t\t\thorizontalGap: 0,\n\t\t\tverticalGap: 0,\n\t\t\tdensity: 1,\n\t\t\tminOpacity: 0,\n\t\t\tmaxOpacity: 0.2\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\t\tr(\"EditableLabel\").setAll({\n\t\t\teditOn: \"click\",\n\t\t\t//setStateOnChildren: true,\n\t\t\tthemeTags: [\"editablelabel\"],\n\t\t\tmultiLine: true\n\t\t});\n\n\t\tr(\"RoundedRectangle\", [\"editablelabel\", \"background\"]).setAll({\n\t\t\tfillOpacity: 0,\n\t\t\tfill: Color.fromHex(0x000000),\n\t\t\tcornerRadiusBL: 3,\n\t\t\tcornerRadiusBR: 3,\n\t\t\tcornerRadiusTL: 3,\n\t\t\tcornerRadiusTR: 3,\n\t\t\tstrokeOpacity: 0,\n\t\t\tstroke: Color.fromHex(0x000000)\n\t\t});\n\n\t\t{\n\t\t\tr(\"RoundedRectangle\", [\"editablelabel\", \"background\"]).states.create(\"active\", {\n\t\t\t\tstrokeOpacity: 0.2,\n\t\t\t});\n\t\t}\n\n\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});\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\t\tr(\"Button\").states.create(\"disabled\", {\n\t\t\tforceInactive: true\n\t\t});\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(\"RoundedRectangle\", [\"button\", \"background\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDisabled\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"button\", \"icon\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonTextDisabled\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Label\", [\"button\"]).states.create(\"disabled\", {});\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonTextDisabled\");\n\t\t}\n\n\t\t{\n\t\t\tconst rule = r(\"Graphics\", [\"button\", \"icon\"]);\n\t\t\trule.setAll({\n\t\t\t\tforceInactive: true\n\t\t\t})\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\tisMeasured: false\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\n\t\tr(\"Graphics\", [\"button\", \"plus\", \"icon\"]).setAll({\n\t\t\tx: p50,\n\t\t\ty: p50,\n\t\t\tdraw: (display) => {\n\t\t\t\tdisplay.moveTo(-4, 0);\n\t\t\t\tdisplay.lineTo(4, 0);\n\t\t\t\tdisplay.moveTo(0, -4);\n\t\t\t\tdisplay.lineTo(0, 4);\n\t\t\t}\n\t\t});\n\n\t\tr(\"Graphics\", [\"button\", \"minus\", \"icon\"]).setAll({\n\t\t\tx: p50,\n\t\t\ty: p50,\n\t\t\tdraw: (display) => {\n\t\t\t\tdisplay.moveTo(-4, 0);\n\t\t\t\tdisplay.lineTo(4, 0);\n\t\t\t}\n\t\t});\n\n\t\tr(\"Graphics\", [\"button\", \"home\", \"icon\"]).setAll({\n\t\t\tx: p50,\n\t\t\ty: p50,\n\t\t\tsvgPath: \"M 8 -1 L 6 -1 L 6 7 L 2 7 L 2 1 L -2 1 L -2 7 L -6 7 L -6 -1 L -8 -1 L 0 -9 L 8 -1 Z M 8 -1\"\n\t\t});\n\n\t\tr(\"Button\", [\"zoomtools\"]).setAll({\n\t\t\tmarginTop: 1,\n\t\t\tmarginBottom: 2\n\t\t})\n\n\t\tr(\"ZoomTools\").setAll({\n\t\t\tx: p100,\n\t\t\tcenterX: p100,\n\t\t\ty: p100,\n\t\t\tcenterY: p100,\n\t\t\tpaddingRight: 10,\n\t\t\tpaddingBottom: 10\n\t\t})\n\t}\n}\n"]}