@carbon/charts 0.30.21 → 0.30.25

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 (215) hide show
  1. package/CHANGELOG.md +337 -1035
  2. package/README.md +3 -0
  3. package/axis-chart.js +8 -14
  4. package/axis-chart.js.map +1 -1
  5. package/build/demo/{data/create-codesandbox.d.ts → create-codesandbox.d.ts} +16 -13
  6. package/build/demo/data/bar.d.ts +175 -1
  7. package/build/demo/data/bubble.d.ts +41 -0
  8. package/build/demo/data/donut.d.ts +23 -0
  9. package/build/demo/data/line.d.ts +70 -0
  10. package/build/demo/data/pie.d.ts +13 -0
  11. package/build/demo/data/scatter.d.ts +31 -0
  12. package/build/demo/data/step.d.ts +4 -0
  13. package/build/demo/data/time-series-axis.d.ts +55 -3
  14. package/build/src/components/axes/grid.d.ts +3 -3
  15. package/build/src/components/axes/two-dimensional-axes.d.ts +3 -0
  16. package/build/src/components/essentials/threshold.d.ts +17 -0
  17. package/build/src/components/graphs/bar.d.ts +1 -1
  18. package/build/src/components/graphs/scatter.d.ts +1 -0
  19. package/build/src/components/graphs/skeleton.d.ts +22 -0
  20. package/build/src/components/index.d.ts +2 -0
  21. package/build/src/interfaces/axis-scales.d.ts +22 -11
  22. package/build/src/interfaces/charts.d.ts +5 -0
  23. package/build/src/interfaces/components.d.ts +21 -0
  24. package/build/src/interfaces/enums.d.ts +9 -0
  25. package/build/src/interfaces/events.d.ts +7 -0
  26. package/build/src/model.d.ts +1 -0
  27. package/build/src/services/scales-cartesian.d.ts +9 -1
  28. package/build/stories/tutorials/event-listeners.d.ts +1 -0
  29. package/build/stories/tutorials/index.d.ts +2 -1
  30. package/bundle.js +1 -1
  31. package/chart.js +15 -24
  32. package/chart.js.map +1 -1
  33. package/charts/bar-grouped.js +6 -2
  34. package/charts/bar-grouped.js.map +1 -1
  35. package/charts/bar-simple.js +6 -2
  36. package/charts/bar-simple.js.map +1 -1
  37. package/charts/bar-stacked.js +6 -2
  38. package/charts/bar-stacked.js.map +1 -1
  39. package/charts/bubble.js +6 -2
  40. package/charts/bubble.js.map +1 -1
  41. package/charts/donut.js +6 -2
  42. package/charts/donut.js.map +1 -1
  43. package/charts/line.js +6 -2
  44. package/charts/line.js.map +1 -1
  45. package/charts/pie.js +6 -2
  46. package/charts/pie.js.map +1 -1
  47. package/charts/radar.js +1 -3
  48. package/charts/radar.js.map +1 -1
  49. package/charts/scatter.js +6 -2
  50. package/charts/scatter.js.map +1 -1
  51. package/components/axes/axis.js +93 -43
  52. package/components/axes/axis.js.map +1 -1
  53. package/components/axes/grid.d.ts +3 -3
  54. package/components/axes/grid.js +46 -23
  55. package/components/axes/grid.js.map +1 -1
  56. package/components/axes/ruler.js +7 -5
  57. package/components/axes/ruler.js.map +1 -1
  58. package/components/axes/two-dimensional-axes.d.ts +3 -0
  59. package/components/axes/two-dimensional-axes.js +35 -2
  60. package/components/axes/two-dimensional-axes.js.map +1 -1
  61. package/components/axes/zero-line.js +16 -1
  62. package/components/axes/zero-line.js.map +1 -1
  63. package/components/component.js +2 -4
  64. package/components/component.js.map +1 -1
  65. package/components/essentials/legend.js +46 -23
  66. package/components/essentials/legend.js.map +1 -1
  67. package/components/essentials/threshold.d.ts +17 -0
  68. package/components/essentials/threshold.js +171 -0
  69. package/components/essentials/threshold.js.map +1 -0
  70. package/components/essentials/title.js +6 -4
  71. package/components/essentials/title.js.map +1 -1
  72. package/components/essentials/tooltip-bar.js +39 -20
  73. package/components/essentials/tooltip-bar.js.map +1 -1
  74. package/components/essentials/tooltip-pie.js +4 -3
  75. package/components/essentials/tooltip-pie.js.map +1 -1
  76. package/components/essentials/tooltip-radar.js +6 -3
  77. package/components/essentials/tooltip-radar.js.map +1 -1
  78. package/components/essentials/tooltip-scatter.js +3 -1
  79. package/components/essentials/tooltip-scatter.js.map +1 -1
  80. package/components/essentials/tooltip.js +35 -15
  81. package/components/essentials/tooltip.js.map +1 -1
  82. package/components/graphs/bar-grouped.js +48 -20
  83. package/components/graphs/bar-grouped.js.map +1 -1
  84. package/components/graphs/bar-simple.js +39 -19
  85. package/components/graphs/bar-simple.js.map +1 -1
  86. package/components/graphs/bar-stacked.js +50 -28
  87. package/components/graphs/bar-stacked.js.map +1 -1
  88. package/components/graphs/bar.d.ts +1 -1
  89. package/components/graphs/bar.js +1 -1
  90. package/components/graphs/bar.js.map +1 -1
  91. package/components/graphs/bubble.js +22 -8
  92. package/components/graphs/bubble.js.map +1 -1
  93. package/components/graphs/donut.js +17 -3
  94. package/components/graphs/donut.js.map +1 -1
  95. package/components/graphs/line.js +14 -7
  96. package/components/graphs/line.js.map +1 -1
  97. package/components/graphs/pie.js +80 -44
  98. package/components/graphs/pie.js.map +1 -1
  99. package/components/graphs/radar.js +271 -140
  100. package/components/graphs/radar.js.map +1 -1
  101. package/components/graphs/scatter.d.ts +1 -0
  102. package/components/graphs/scatter.js +80 -19
  103. package/components/graphs/scatter.js.map +1 -1
  104. package/components/graphs/skeleton.d.ts +22 -0
  105. package/components/graphs/skeleton.js +256 -0
  106. package/components/graphs/skeleton.js.map +1 -0
  107. package/components/index.d.ts +2 -0
  108. package/components/index.js +2 -0
  109. package/components/index.js.map +1 -1
  110. package/components/layout/layout.js +38 -26
  111. package/components/layout/layout.js.map +1 -1
  112. package/components/layout/spacer.js +2 -1
  113. package/components/layout/spacer.js.map +1 -1
  114. package/configuration.js +17 -14
  115. package/configuration.js.map +1 -1
  116. package/demo/{data/create-codesandbox.d.ts → create-codesandbox.d.ts} +16 -13
  117. package/demo/{data/create-codesandbox.js → create-codesandbox.js} +24 -21
  118. package/demo/create-codesandbox.js.map +1 -0
  119. package/demo/data/bar.d.ts +175 -1
  120. package/demo/data/bar.js +189 -3
  121. package/demo/data/bar.js.map +1 -1
  122. package/demo/data/bubble.d.ts +41 -0
  123. package/demo/data/bubble.js +48 -3
  124. package/demo/data/bubble.js.map +1 -1
  125. package/demo/data/bundle.js +1 -1
  126. package/demo/data/donut.d.ts +23 -0
  127. package/demo/data/donut.js +25 -0
  128. package/demo/data/donut.js.map +1 -1
  129. package/demo/data/index.js +189 -7
  130. package/demo/data/index.js.map +1 -1
  131. package/demo/data/line.d.ts +70 -0
  132. package/demo/data/line.js +71 -0
  133. package/demo/data/line.js.map +1 -1
  134. package/demo/data/pie.d.ts +13 -0
  135. package/demo/data/pie.js +15 -0
  136. package/demo/data/pie.js.map +1 -1
  137. package/demo/data/radar.js.map +1 -1
  138. package/demo/data/scatter.d.ts +31 -0
  139. package/demo/data/scatter.js +33 -0
  140. package/demo/data/scatter.js.map +1 -1
  141. package/demo/data/step.d.ts +4 -0
  142. package/demo/data/step.js +15 -0
  143. package/demo/data/step.js.map +1 -1
  144. package/demo/data/time-series-axis.d.ts +55 -3
  145. package/demo/data/time-series-axis.js +62 -6
  146. package/demo/data/time-series-axis.js.map +1 -1
  147. package/demo/styles.css +342 -18
  148. package/demo/styles.css.map +1 -1
  149. package/demo/styles.min.css +1 -1
  150. package/demo/styles.min.css.map +1 -1
  151. package/demo/tsconfig.tsbuildinfo +232 -229
  152. package/index.js.map +1 -1
  153. package/interfaces/axis-scales.d.ts +22 -11
  154. package/interfaces/axis-scales.js.map +1 -1
  155. package/interfaces/charts.d.ts +5 -0
  156. package/interfaces/charts.js.map +1 -1
  157. package/interfaces/components.d.ts +21 -0
  158. package/interfaces/components.js.map +1 -1
  159. package/interfaces/enums.d.ts +9 -0
  160. package/interfaces/enums.js +10 -0
  161. package/interfaces/enums.js.map +1 -1
  162. package/interfaces/events.d.ts +7 -0
  163. package/interfaces/events.js +8 -0
  164. package/interfaces/events.js.map +1 -1
  165. package/model.d.ts +1 -0
  166. package/model.js +30 -16
  167. package/model.js.map +1 -1
  168. package/package.json +4 -2
  169. package/polyfills.js +7 -2
  170. package/polyfills.js.map +1 -1
  171. package/services/angle-utils.js +34 -9
  172. package/services/angle-utils.js.map +1 -1
  173. package/services/colors.js.map +1 -1
  174. package/services/curves.js +4 -2
  175. package/services/curves.js.map +1 -1
  176. package/services/essentials/dom-utils.js +4 -3
  177. package/services/essentials/dom-utils.js.map +1 -1
  178. package/services/essentials/transitions.js +3 -4
  179. package/services/essentials/transitions.js.map +1 -1
  180. package/services/scales-cartesian.d.ts +9 -1
  181. package/services/scales-cartesian.js +96 -23
  182. package/services/scales-cartesian.js.map +1 -1
  183. package/services/time-series.js +36 -19
  184. package/services/time-series.js.map +1 -1
  185. package/styles/components/_axis.scss +4 -0
  186. package/styles/components/_layout.scss +0 -1
  187. package/styles/components/_ruler.scss +5 -2
  188. package/styles/components/_skeleton.scss +56 -0
  189. package/styles/components/_threshold.scss +49 -0
  190. package/styles/components/_tooltip.scss +6 -5
  191. package/styles/components/index.scss +2 -0
  192. package/styles/graphs/_bubble.scss +1 -1
  193. package/styles/graphs/_radar.scss +4 -2
  194. package/styles/graphs/_scatter.scss +5 -1
  195. package/styles/mixins.scss +2 -2
  196. package/styles-g10.css +87 -4
  197. package/styles-g10.css.map +1 -1
  198. package/styles-g10.min.css +1 -1
  199. package/styles-g10.min.css.map +1 -1
  200. package/styles-g100.css +87 -4
  201. package/styles-g100.css.map +1 -1
  202. package/styles-g100.min.css +1 -1
  203. package/styles-g100.min.css.map +1 -1
  204. package/styles-g90.css +87 -4
  205. package/styles-g90.css.map +1 -1
  206. package/styles-g90.min.css +1 -1
  207. package/styles-g90.min.css.map +1 -1
  208. package/styles.css +87 -4
  209. package/styles.css.map +1 -1
  210. package/styles.min.css +1 -1
  211. package/styles.min.css.map +1 -1
  212. package/tools.js +25 -7
  213. package/tools.js.map +1 -1
  214. package/tsconfig.tsbuildinfo +169 -106
  215. package/demo/data/create-codesandbox.js.map +0 -1
@@ -15,28 +15,42 @@ export var TIME_INTERVALS = [
15
15
  // Return true if the tick is a primary tick, false otherwise
16
16
  export function isTickPrimary(tick, i, interval, showDayName) {
17
17
  var isFirstTick = i === 0;
18
- var hasANewWeekStarted = Number(format((new Date(tick)), "c")) === 2;
19
- var isFirstQuarter = Number(format((new Date(tick)), "q")) === 1;
18
+ var hasANewWeekStarted = Number(format(new Date(tick), "c")) === 2;
19
+ var isFirstQuarter = Number(format(new Date(tick), "q")) === 1;
20
20
  switch (interval) {
21
21
  case "15seconds":
22
- return (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));
22
+ return (isFirstTick ||
23
+ isDayOfMonthChanged(tick) ||
24
+ isMonthChanged(tick) ||
25
+ isYearChanged(tick));
23
26
  case "minute":
24
- return (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));
27
+ return (isFirstTick ||
28
+ isDayOfMonthChanged(tick) ||
29
+ isMonthChanged(tick) ||
30
+ isYearChanged(tick));
25
31
  case "30minutes":
26
- return (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));
32
+ return (isFirstTick ||
33
+ isDayOfMonthChanged(tick) ||
34
+ isMonthChanged(tick) ||
35
+ isYearChanged(tick));
27
36
  case "hourly":
28
- return (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));
37
+ return (isFirstTick ||
38
+ isDayOfMonthChanged(tick) ||
39
+ isMonthChanged(tick) ||
40
+ isYearChanged(tick));
29
41
  case "daily":
30
- if (!showDayName) { // daily
42
+ if (!showDayName) {
43
+ // daily
31
44
  return (isFirstTick || isMonthChanged(tick) || isYearChanged(tick));
32
45
  }
33
- else { // weekly
34
- return (isFirstTick || hasANewWeekStarted || isYearChanged(tick));
46
+ else {
47
+ // weekly
48
+ return isFirstTick || hasANewWeekStarted || isYearChanged(tick);
35
49
  }
36
50
  case "monthly":
37
- return (isFirstTick || isYearChanged(tick));
51
+ return isFirstTick || isYearChanged(tick);
38
52
  case "quarterly":
39
- return (isFirstTick || isFirstQuarter);
53
+ return isFirstTick || isFirstQuarter;
40
54
  case "yearly":
41
55
  return false;
42
56
  default:
@@ -51,7 +65,9 @@ export function formatTick(tick, i, interval, timeScaleOptions) {
51
65
  var formats = Tools.getProperty(timeScaleOptions, "timeIntervalFormats")[intervalConsideringAlsoShowDayNameOption];
52
66
  var primary = Tools.getProperty(formats, "primary");
53
67
  var secondary = Tools.getProperty(formats, "secondary");
54
- var formatString = isTickPrimary(tick, i, interval, showDayName) ? primary : secondary;
68
+ var formatString = isTickPrimary(tick, i, interval, showDayName)
69
+ ? primary
70
+ : secondary;
55
71
  var locale = timeScaleOptions.localeObject;
56
72
  return format(date, formatString, { locale: locale });
57
73
  }
@@ -74,13 +90,14 @@ function getConsecutiveDifferences(elements) {
74
90
  }
75
91
  return elements.slice(1).map(function (elem, i) { return elem - elements[i]; });
76
92
  }
77
- // Given a number, return the closest TIME_INTERVAL name
78
- function closestTimeIntervalName(ms) {
79
- var index = TIME_INTERVALS.reduce(function (acc, _a, i) {
80
- var key = _a[0], value = _a[1];
81
- var previousSpan = Math.abs(acc - ms);
82
- var currentSpan = Math.abs(value - ms);
83
- return previousSpan < currentSpan ? acc : i;
93
+ // Given a duration in ms, return the closest TIME_INTERVAL name
94
+ function closestTimeIntervalName(duration) {
95
+ var index = TIME_INTERVALS.reduce(function (nearestIndex, _a, i) {
96
+ var intervalName = _a[0], delta = _a[1];
97
+ var deltaNearest = TIME_INTERVALS[nearestIndex][1];
98
+ var oldNearestSpan = Math.abs(deltaNearest - duration);
99
+ var currentSpan = Math.abs(delta - duration);
100
+ return oldNearestSpan < currentSpan ? nearestIndex : i;
84
101
  }, 0);
85
102
  return TIME_INTERVALS[index][0];
86
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"time-series.js","sourceRoot":"","sources":["time-series.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,CAAC,IAAM,cAAc,GAAG;IAC7B,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC;IACxB,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC;IACrB,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7B,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1B,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC9B,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrC,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3C,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,CAAS,EAAE,QAAgB,EAAE,WAAoB;IAC5F,IAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvE,IAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEnE,QAAQ,QAAQ,EAAE;QACjB,KAAK,WAAW;YACf,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,KAAK,QAAQ;YACZ,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,KAAK,WAAW;YACf,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,KAAK,QAAQ;YACZ,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClG,KAAK,OAAO;YACX,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ;gBAC3B,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;aACpE;iBAAM,EAAE,SAAS;gBACjB,OAAO,CAAC,WAAW,IAAI,kBAAkB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;aAClE;QACF,KAAK,SAAS;YACb,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,WAAW;YACf,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC;QACxC,KAAK,QAAQ;YACZ,OAAO,KAAK,CAAC;QACd;YACC,MAAM,IAAI,KAAK,CAAI,QAAQ,mCAAgC,CAAC,CAAC;KAC9D;AACF,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,CAAS,EAAE,QAAgB,EAAE,gBAAkC;IACvG,IAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;IACjD,IAAM,wCAAwC,GAAG,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3G,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,wCAAwC,CAAC,CAAC;IACrH,IAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,IAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAE7C,OAAO,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,6DAA6D;AAC7D,+GAA+G;AAC/G,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC/C,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO;QACN,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE;QACjB,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;QAClB,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE;QACpB,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB;KACrC,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,yBAAyB,CAAC,QAAkB;IACpD,IAAI,CAAC,QAAQ,EAAE;QACd,OAAO;KACP;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC,IAAK,OAAA,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAC/D,CAAC;AAED,wDAAwD;AACxD,SAAS,uBAAuB,CAAC,EAAU;IAC1C,IAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAA8B,EAAE,CAAC;YAAhC,WAAG,EAAE,aAAK;QACpD,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACxC,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAW,CAAC;AAC3C,CAAC;AAED,yDAAyD;AACzD,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CAAC,KAAe;IACtD,sGAAsG;IACtG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,WAAW,CAAC;KACnB;IACD,IAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACrD,IAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED,6EAA6E;AAC7E,SAAS,mBAAmB,CAAC,SAAiB;IACvC,IAAA,8BAAuC,EAArC,QAAC,EAAE,QAAC,EAAE,QAA+B,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,kEAAkE;AAClE,SAAS,cAAc,CAAC,SAAiB;IAClC,IAAA,8BAA0C,EAAxC,QAAC,EAAE,QAAC,EAAE,QAAC,EAAE,QAA+B,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,6DAA6D;AAC7D,SAAS,aAAa,CAAC,SAAiB;IACjC,IAAA,8BAA6C,EAA3C,QAAC,EAAE,QAAC,EAAE,QAAC,EAAE,QAAC,EAAE,QAA+B,CAAC;IACpD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import { format } from \"date-fns\";\nimport { TimeScaleOptions } from \"../interfaces/axis-scales\";\nimport { Tools } from \"../tools\";\n\n// D3 Imports\nimport { min } from \"d3-array\";\n\nexport const TIME_INTERVALS = [\n\t[\"15seconds\", 15 * 1000],\n\t[\"minute\", 60 * 1000],\n\t[\"30minutes\", 30 * 60 * 1000],\n\t[\"hourly\", 60 * 60 * 1000],\n\t[\"daily\", 24 * 60 * 60 * 1000],\n\t[\"monthly\", 30 * 24 * 60 * 60 * 1000],\n\t[\"quarterly\", 3 * 30 * 24 * 60 * 60 * 1000],\n\t[\"yearly\", 12 * 30 * 24 * 60 * 60 * 1000]\n];\n\n// Return true if the tick is a primary tick, false otherwise\nexport function isTickPrimary(tick: number, i: number, interval: string, showDayName: boolean): boolean {\n\tconst isFirstTick = i === 0;\n\tconst hasANewWeekStarted = Number(format((new Date(tick)), \"c\")) === 2;\n\tconst isFirstQuarter = Number(format((new Date(tick)), \"q\")) === 1;\n\n\tswitch (interval) {\n\t\tcase \"15seconds\":\n\t\t\treturn (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));\n\t\tcase \"minute\":\n\t\t\treturn (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));\n\t\tcase \"30minutes\":\n\t\t\treturn (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));\n\t\tcase \"hourly\":\n\t\t\treturn (isFirstTick || isDayOfMonthChanged(tick) || isMonthChanged(tick) || isYearChanged(tick));\n\t\tcase \"daily\":\n\t\t\tif (!showDayName) { // daily\n\t\t\t\treturn (isFirstTick || isMonthChanged(tick) || isYearChanged(tick));\n\t\t\t} else { // weekly\n\t\t\t\treturn (isFirstTick || hasANewWeekStarted || isYearChanged(tick));\n\t\t\t}\n\t\tcase \"monthly\":\n\t\t\treturn (isFirstTick || isYearChanged(tick));\n\t\tcase \"quarterly\":\n\t\t\treturn (isFirstTick || isFirstQuarter);\n\t\tcase \"yearly\":\n\t\t\treturn false;\n\t\tdefault:\n\t\t\tthrow new Error(`${interval} is not a valid time interval.`);\n\t}\n}\n\n// Return the formatted current tick\nexport function formatTick(tick: number, i: number, interval: string, timeScaleOptions: TimeScaleOptions): string {\n\tconst showDayName = timeScaleOptions.showDayName;\n\tconst intervalConsideringAlsoShowDayNameOption = interval === \"daily\" && showDayName ? \"weekly\" : interval;\n\tconst date = new Date(tick);\n\tconst formats = Tools.getProperty(timeScaleOptions, \"timeIntervalFormats\")[intervalConsideringAlsoShowDayNameOption];\n\tconst primary = Tools.getProperty(formats, \"primary\");\n\tconst secondary = Tools.getProperty(formats, \"secondary\");\n\tconst formatString = isTickPrimary(tick, i, interval, showDayName) ? primary : secondary;\n\tconst locale = timeScaleOptions.localeObject;\n\n\treturn format(date, formatString, { locale });\n}\n\n// Given a timestamp, return an object of useful time formats\n// Use Unicode date field symbol (https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)\nexport function getTimeformats(timestamp: number) {\n\tconst date = new Date(timestamp);\n\treturn {\n\t\tM: date.getMonth() + 1, // month: 1-12\n\t\td: date.getDate(), // day of the month: 1-31\n\t\tH: date.getHours(), // 24-hour clock: 0-23\n\t\tm: date.getMinutes(), // minute: 0-59\n\t\ts: date.getSeconds() // seconds: 0-59\n\t};\n}\n\n// Find the differences between consecutive numbers in an array\nfunction getConsecutiveDifferences(elements: number[]): number[] {\n\tif (!elements) {\n\t\treturn;\n\t}\n\treturn elements.slice(1).map((elem, i) => elem - elements[i]);\n}\n\n// Given a number, return the closest TIME_INTERVAL name\nfunction closestTimeIntervalName(ms: number): string {\n\tconst index = TIME_INTERVALS.reduce((acc, [key, value]: [string, number], i) => {\n\t\tconst previousSpan = Math.abs(acc - ms);\n\t\tconst currentSpan = Math.abs(value - ms);\n\t\treturn previousSpan < currentSpan ? acc : i;\n\t}, 0);\n\treturn TIME_INTERVALS[index][0] as string;\n}\n\n// Given an array of timestamps, return the interval name\n// between 15seconds, minute, 30minutes, hourly, daily, weekly, monthly, quarterly, yearly\nexport function computeTimeIntervalName(ticks: number[]): string {\n\t// special case: if the dataset has only one datum, we show the tick in the most detailed way possible\n\tif (ticks.length === 1) {\n\t\treturn \"15seconds\";\n\t}\n\tconst differences = getConsecutiveDifferences(ticks);\n\tconst minDifference = min(differences);\n\treturn closestTimeIntervalName(minDifference);\n}\n\n// Return true if the day of the month (D = 1-31) is changed, false otherwise\nfunction isDayOfMonthChanged(timestamp: number): boolean {\n\tconst { s, m, H } = getTimeformats(timestamp);\n\treturn H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the month (M = 1-12) is changed, false otherwise\nfunction isMonthChanged(timestamp: number): boolean {\n\tconst { d, s, m, H } = getTimeformats(timestamp);\n\treturn d === 1 && H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the year (YYYY) is changed, false otherwise\nfunction isYearChanged(timestamp: number): boolean {\n\tconst { M, d, s, m, H } = getTimeformats(timestamp);\n\treturn M === 1 && d === 1 && H === 0 && m === 0 && s === 0;\n}\n"]}
1
+ {"version":3,"file":"time-series.js","sourceRoot":"","sources":["time-series.ts"],"names":[],"mappings":"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","sourcesContent":["import { format } from \"date-fns\";\nimport { TimeScaleOptions } from \"../interfaces/axis-scales\";\nimport { Tools } from \"../tools\";\n\n// D3 Imports\nimport { min } from \"d3-array\";\n\nexport const TIME_INTERVALS = [\n\t[\"15seconds\", 15 * 1000],\n\t[\"minute\", 60 * 1000],\n\t[\"30minutes\", 30 * 60 * 1000],\n\t[\"hourly\", 60 * 60 * 1000],\n\t[\"daily\", 24 * 60 * 60 * 1000],\n\t[\"monthly\", 30 * 24 * 60 * 60 * 1000],\n\t[\"quarterly\", 3 * 30 * 24 * 60 * 60 * 1000],\n\t[\"yearly\", 12 * 30 * 24 * 60 * 60 * 1000]\n];\n\n// Return true if the tick is a primary tick, false otherwise\nexport function isTickPrimary(\n\ttick: number,\n\ti: number,\n\tinterval: string,\n\tshowDayName: boolean\n): boolean {\n\tconst isFirstTick = i === 0;\n\tconst hasANewWeekStarted = Number(format(new Date(tick), \"c\")) === 2;\n\tconst isFirstQuarter = Number(format(new Date(tick), \"q\")) === 1;\n\n\tswitch (interval) {\n\t\tcase \"15seconds\":\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase \"minute\":\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase \"30minutes\":\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase \"hourly\":\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase \"daily\":\n\t\t\tif (!showDayName) {\n\t\t\t\t// daily\n\t\t\t\treturn (\n\t\t\t\t\tisFirstTick || isMonthChanged(tick) || isYearChanged(tick)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// weekly\n\t\t\t\treturn isFirstTick || hasANewWeekStarted || isYearChanged(tick);\n\t\t\t}\n\t\tcase \"monthly\":\n\t\t\treturn isFirstTick || isYearChanged(tick);\n\t\tcase \"quarterly\":\n\t\t\treturn isFirstTick || isFirstQuarter;\n\t\tcase \"yearly\":\n\t\t\treturn false;\n\t\tdefault:\n\t\t\tthrow new Error(`${interval} is not a valid time interval.`);\n\t}\n}\n\n// Return the formatted current tick\nexport function formatTick(\n\ttick: number,\n\ti: number,\n\tinterval: string,\n\ttimeScaleOptions: TimeScaleOptions\n): string {\n\tconst showDayName = timeScaleOptions.showDayName;\n\tconst intervalConsideringAlsoShowDayNameOption =\n\t\tinterval === \"daily\" && showDayName ? \"weekly\" : interval;\n\tconst date = new Date(tick);\n\tconst formats = Tools.getProperty(timeScaleOptions, \"timeIntervalFormats\")[\n\t\tintervalConsideringAlsoShowDayNameOption\n\t];\n\tconst primary = Tools.getProperty(formats, \"primary\");\n\tconst secondary = Tools.getProperty(formats, \"secondary\");\n\tconst formatString = isTickPrimary(tick, i, interval, showDayName)\n\t\t? primary\n\t\t: secondary;\n\tconst locale = timeScaleOptions.localeObject;\n\n\treturn format(date, formatString, { locale });\n}\n\n// Given a timestamp, return an object of useful time formats\n// Use Unicode date field symbol (https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)\nexport function getTimeformats(timestamp: number) {\n\tconst date = new Date(timestamp);\n\treturn {\n\t\tM: date.getMonth() + 1, // month: 1-12\n\t\td: date.getDate(), // day of the month: 1-31\n\t\tH: date.getHours(), // 24-hour clock: 0-23\n\t\tm: date.getMinutes(), // minute: 0-59\n\t\ts: date.getSeconds() // seconds: 0-59\n\t};\n}\n\n// Find the differences between consecutive numbers in an array\nfunction getConsecutiveDifferences(elements: number[]): number[] {\n\tif (!elements) {\n\t\treturn;\n\t}\n\treturn elements.slice(1).map((elem, i) => elem - elements[i]);\n}\n\n// Given a duration in ms, return the closest TIME_INTERVAL name\nfunction closestTimeIntervalName(duration: number): string {\n\tconst index = TIME_INTERVALS.reduce(\n\t\t(nearestIndex, [intervalName, delta]: [string, number], i) => {\n\t\t\tconst deltaNearest = TIME_INTERVALS[nearestIndex][1] as number;\n\t\t\tconst oldNearestSpan = Math.abs(deltaNearest - duration);\n\t\t\tconst currentSpan = Math.abs(delta - duration);\n\t\t\treturn oldNearestSpan < currentSpan ? nearestIndex : i;\n\t\t},\n\t\t0\n\t);\n\treturn TIME_INTERVALS[index][0] as string;\n}\n\n// Given an array of timestamps, return the interval name\n// between 15seconds, minute, 30minutes, hourly, daily, weekly, monthly, quarterly, yearly\nexport function computeTimeIntervalName(ticks: number[]): string {\n\t// special case: if the dataset has only one datum, we show the tick in the most detailed way possible\n\tif (ticks.length === 1) {\n\t\treturn \"15seconds\";\n\t}\n\tconst differences = getConsecutiveDifferences(ticks);\n\tconst minDifference = min(differences);\n\treturn closestTimeIntervalName(minDifference);\n}\n\n// Return true if the day of the month (D = 1-31) is changed, false otherwise\nfunction isDayOfMonthChanged(timestamp: number): boolean {\n\tconst { s, m, H } = getTimeformats(timestamp);\n\treturn H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the month (M = 1-12) is changed, false otherwise\nfunction isMonthChanged(timestamp: number): boolean {\n\tconst { d, s, m, H } = getTimeformats(timestamp);\n\treturn d === 1 && H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the year (YYYY) is changed, false otherwise\nfunction isYearChanged(timestamp: number): boolean {\n\tconst { M, d, s, m, H } = getTimeformats(timestamp);\n\treturn M === 1 && d === 1 && H === 0 && m === 0 && s === 0;\n}\n"]}
@@ -3,6 +3,10 @@
3
3
  @import "./../vendor/@carbon/themes/scss/tokens";
4
4
 
5
5
  .#{$prefix}--#{$charts-prefix}--axes g.axis {
6
+ g.ticks.invisible {
7
+ visibility: hidden;
8
+ }
9
+
6
10
  g.tick text {
7
11
  fill: $text-02;
8
12
  font-family: carbon--font-family("sans-condensed");
@@ -1,4 +1,3 @@
1
1
  .#{$prefix}--#{$charts-prefix}--chart-svg svg.layout-child {
2
2
  overflow: visible;
3
3
  }
4
-
@@ -1,8 +1,11 @@
1
1
  .#{$prefix}--#{$charts-prefix}--ruler {
2
2
  line.ruler-line {
3
- @if $ui-background == map-get($carbon--theme--g90, 'ui-background') {
3
+ @if $ui-background == map-get($carbon--theme--g90, "ui-background") {
4
4
  stroke: $carbon--white-0;
5
- } @else if $ui-background == map-get($carbon--theme--g100, 'ui-background') {
5
+ } @else if
6
+ $ui-background ==
7
+ map-get($carbon--theme--g100, "ui-background")
8
+ {
6
9
  stroke: $carbon--white-0;
7
10
  } @else {
8
11
  stroke: $carbon--black-100;
@@ -0,0 +1,56 @@
1
+ $lines-bg-color: $ui-03;
2
+ $lines-shimmer-color: $carbon--white-0;
3
+ $areas-bg-color: rgba(127, 127, 127, 0.1);
4
+ $areas-shimmer-color: rgba($carbon--white-0, 0.15);
5
+
6
+ .#{$prefix}--#{$charts-prefix}--skeleton {
7
+ // lines
8
+ rect.chart-skeleton-backdrop {
9
+ @if $carbon--theme == $carbon--theme--g10 {
10
+ fill: $ui-01;
11
+ } @else if $carbon--theme == $carbon--theme--g90 {
12
+ fill: $carbon--gray-100;
13
+ } @else {
14
+ fill: $ui-background;
15
+ }
16
+ }
17
+
18
+ .shimmer-effect-lines {
19
+ stroke-width: 1px;
20
+ stroke: url(#shimmer-lines);
21
+ }
22
+
23
+ .empty-state-lines {
24
+ stroke-width: 1px;
25
+ stroke: $lines-bg-color;
26
+ }
27
+
28
+ #shimmer-lines {
29
+ .stop-bg-shimmer {
30
+ stop-color: $lines-bg-color;
31
+ }
32
+
33
+ .stop-shimmer {
34
+ stop-color: $lines-shimmer-color;
35
+ }
36
+ }
37
+
38
+ // areas
39
+ .shimmer-effect-areas {
40
+ fill: url(#shimmer-areas);
41
+ }
42
+
43
+ .empty-state-areas {
44
+ fill: $areas-bg-color;
45
+ }
46
+
47
+ #shimmer-areas {
48
+ .stop-bg-shimmer {
49
+ stop-color: $areas-bg-color;
50
+ }
51
+
52
+ .stop-shimmer {
53
+ stop-color: $areas-shimmer-color;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,49 @@
1
+ .#{$prefix}--#{$charts-prefix}--threshold {
2
+ line.threshold-line {
3
+ stroke: $red-50;
4
+ stroke-width: 1;
5
+ stroke-dasharray: 4;
6
+ cursor: pointer;
7
+ pointer-events: none;
8
+ }
9
+
10
+ &.active line.threshold-line {
11
+ stroke-width: 2;
12
+ }
13
+
14
+ rect.threshold-hoverable-area {
15
+ height: 20px;
16
+ transform: translate(0, -10px);
17
+ cursor: pointer;
18
+ fill: transparent;
19
+
20
+ &.rotate {
21
+ transform: rotate(90deg) translate(0, -10px);
22
+ }
23
+ }
24
+ }
25
+
26
+ .#{$prefix}--#{$charts-prefix}--threshold--label {
27
+ background-color: $red-50;
28
+ pointer-events: none;
29
+ transition: opacity 0.1s;
30
+ @include carbon--motion(standard, expressive);
31
+ display: inline;
32
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
33
+ position: absolute;
34
+ word-wrap: break-word;
35
+ z-index: 1059;
36
+ font-family: carbon--font-family("sans-condensed");
37
+
38
+ color: $text-01;
39
+ line-height: 16px;
40
+ font-size: 12px;
41
+ padding: 4px;
42
+ min-width: 20px;
43
+
44
+ &.hidden {
45
+ opacity: 0;
46
+ transition: opacity 0.1s;
47
+ @include carbon--motion(standard, expressive);
48
+ }
49
+ }
@@ -6,7 +6,7 @@
6
6
  .#{$prefix}--#{$charts-prefix}--tooltip {
7
7
  background-color: $ui-02;
8
8
  pointer-events: none;
9
- transition: opacity .1s;
9
+ transition: opacity 0.1s;
10
10
  @include carbon--motion(standard, expressive);
11
11
  display: inline;
12
12
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
@@ -17,7 +17,7 @@
17
17
 
18
18
  &.hidden {
19
19
  opacity: 0;
20
- transition: opacity .1s;
20
+ transition: opacity 0.1s;
21
21
  @include carbon--motion(standard, expressive);
22
22
  }
23
23
 
@@ -31,7 +31,8 @@
31
31
  min-width: 20px;
32
32
  }
33
33
 
34
- .datapoint-tooltip, .total-val {
34
+ .datapoint-tooltip,
35
+ .total-val {
35
36
  display: flex;
36
37
  padding: 4px;
37
38
  flex-flow: row nowrap;
@@ -77,7 +78,7 @@
77
78
  list-style: none;
78
79
  position: relative;
79
80
 
80
- &:not(:last-child){
81
+ &:not(:last-child) {
81
82
  @if $carbon--theme == $carbon--theme--g90 {
82
83
  border-bottom: 1px solid $ui-01;
83
84
  } @else if $carbon--theme == $carbon--theme--g100 {
@@ -92,7 +93,7 @@
92
93
 
93
94
  .tooltip-color {
94
95
  position: absolute;
95
- left:0;
96
+ left: 0;
96
97
  top: 0;
97
98
  width: 4px;
98
99
  height: 100%;
@@ -2,8 +2,10 @@
2
2
  @import "./callouts";
3
3
  @import "./grid";
4
4
  @import "./ruler";
5
+ @import "./skeleton";
5
6
  @import "./zero-line";
6
7
  @import "./layout";
7
8
  @import "./legend";
8
9
  @import "./title";
9
10
  @import "./tooltip";
11
+ @import "./threshold";
@@ -3,7 +3,7 @@
3
3
  g.#{$prefix}--#{$charts-prefix}--bubble {
4
4
  circle.dot.hovered {
5
5
  fill-opacity: 1;
6
- transition: all .1s;
6
+ transition: all 0.1s;
7
7
  @include carbon--motion(standard, expressive);
8
8
  }
9
9
 
@@ -1,4 +1,3 @@
1
-
2
1
  .#{$prefix}--#{$charts-prefix}--radar {
3
2
  .blobs path {
4
3
  stroke-width: 1.5px;
@@ -13,7 +12,10 @@
13
12
  .x-axes line.hovered {
14
13
  @if $ui-background == map-get($carbon--theme--g90, "ui-background") {
15
14
  stroke: $carbon--white-0;
16
- } @else if $ui-background == map-get($carbon--theme--g100, "ui-background") {
15
+ } @else if
16
+ $ui-background ==
17
+ map-get($carbon--theme--g100, "ui-background")
18
+ {
17
19
  stroke: $carbon--white-0;
18
20
  } @else {
19
21
  stroke: $carbon--black-100;
@@ -3,7 +3,7 @@
3
3
  g.#{$prefix}--#{$charts-prefix}--scatter {
4
4
  circle.dot.hovered {
5
5
  fill-opacity: 1;
6
- transition: all .1s;
6
+ transition: all 0.1s;
7
7
  @include carbon--motion(standard, expressive);
8
8
  }
9
9
 
@@ -12,6 +12,10 @@ g.#{$prefix}--#{$charts-prefix}--scatter {
12
12
  stroke-width: 1.5;
13
13
  }
14
14
 
15
+ circle.dot.threshold-anomaly {
16
+ stroke-width: 3;
17
+ }
18
+
15
19
  g.lines path.line {
16
20
  mix-blend-mode: multiply;
17
21
  }
@@ -1,4 +1,4 @@
1
1
  @mixin background-opacity($color, $opacity: 0.3) {
2
- background: $color; // fallback
3
- background: rgba($color, $opacity);
2
+ background: $color; // fallback
3
+ background: rgba($color, $opacity);
4
4
  }
package/styles-g10.css CHANGED
@@ -1,3 +1,6 @@
1
+ .bx--cc--axes g.axis g.ticks.invisible {
2
+ visibility: hidden;
3
+ }
1
4
  .bx--cc--axes g.axis g.tick text {
2
5
  fill: #565656;
3
6
  font-family: 'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif;
@@ -40,6 +43,36 @@
40
43
  text-anchor: middle;
41
44
  }
42
45
 
46
+ .bx--cc--skeleton rect.chart-skeleton-backdrop {
47
+ fill: #f3f3f3;
48
+ }
49
+ .bx--cc--skeleton .shimmer-effect-lines {
50
+ stroke-width: 1px;
51
+ stroke: url(#shimmer-lines);
52
+ }
53
+ .bx--cc--skeleton .empty-state-lines {
54
+ stroke-width: 1px;
55
+ stroke: #dcdcdc;
56
+ }
57
+ .bx--cc--skeleton #shimmer-lines .stop-bg-shimmer {
58
+ stop-color: #dcdcdc;
59
+ }
60
+ .bx--cc--skeleton #shimmer-lines .stop-shimmer {
61
+ stop-color: #ffffff;
62
+ }
63
+ .bx--cc--skeleton .shimmer-effect-areas {
64
+ fill: url(#shimmer-areas);
65
+ }
66
+ .bx--cc--skeleton .empty-state-areas {
67
+ fill: rgba(127, 127, 127, 0.1);
68
+ }
69
+ .bx--cc--skeleton #shimmer-areas .stop-bg-shimmer {
70
+ stop-color: rgba(127, 127, 127, 0.1);
71
+ }
72
+ .bx--cc--skeleton #shimmer-areas .stop-shimmer {
73
+ stop-color: rgba(255, 255, 255, 0.15);
74
+ }
75
+
43
76
  .bx--cc--zero-line line.domain {
44
77
  stroke: #8c8c8c;
45
78
  }
@@ -112,7 +145,8 @@ g.bx--cc--legend.clickable g.legend-item:hover {
112
145
  padding: 4px;
113
146
  min-width: 20px;
114
147
  }
115
- .bx--cc--tooltip .content-box .datapoint-tooltip, .bx--cc--tooltip .content-box .total-val {
148
+ .bx--cc--tooltip .content-box .datapoint-tooltip,
149
+ .bx--cc--tooltip .content-box .total-val {
116
150
  display: flex;
117
151
  padding: 4px;
118
152
  flex-flow: row nowrap;
@@ -121,7 +155,8 @@ g.bx--cc--legend.clickable g.legend-item:hover {
121
155
  justify-content: flex-start;
122
156
  align-items: center;
123
157
  }
124
- .bx--cc--tooltip .content-box .datapoint-tooltip p, .bx--cc--tooltip .content-box .total-val p {
158
+ .bx--cc--tooltip .content-box .datapoint-tooltip p,
159
+ .bx--cc--tooltip .content-box .total-val p {
125
160
  white-space: nowrap;
126
161
  overflow: hidden;
127
162
  text-overflow: ellipsis;
@@ -132,11 +167,13 @@ g.bx--cc--legend.clickable g.legend-item:hover {
132
167
  padding: 0;
133
168
  border: 0;
134
169
  }
135
- .bx--cc--tooltip .content-box .datapoint-tooltip p.label, .bx--cc--tooltip .content-box .total-val p.label {
170
+ .bx--cc--tooltip .content-box .datapoint-tooltip p.label,
171
+ .bx--cc--tooltip .content-box .total-val p.label {
136
172
  flex: 1;
137
173
  margin-right: 8px;
138
174
  }
139
- .bx--cc--tooltip .content-box .datapoint-tooltip p.value, .bx--cc--tooltip .content-box .total-val p.value {
175
+ .bx--cc--tooltip .content-box .datapoint-tooltip p.value,
176
+ .bx--cc--tooltip .content-box .total-val p.value {
140
177
  width: auto;
141
178
  }
142
179
  .bx--cc--tooltip .content-box .total-val {
@@ -167,6 +204,49 @@ g.bx--cc--legend.clickable g.legend-item:hover {
167
204
  margin-left: 4px;
168
205
  }
169
206
 
207
+ .bx--cc--threshold line.threshold-line {
208
+ stroke: #fa4d56;
209
+ stroke-width: 1;
210
+ stroke-dasharray: 4;
211
+ cursor: pointer;
212
+ pointer-events: none;
213
+ }
214
+ .bx--cc--threshold.active line.threshold-line {
215
+ stroke-width: 2;
216
+ }
217
+ .bx--cc--threshold rect.threshold-hoverable-area {
218
+ height: 20px;
219
+ transform: translate(0, -10px);
220
+ cursor: pointer;
221
+ fill: transparent;
222
+ }
223
+ .bx--cc--threshold rect.threshold-hoverable-area.rotate {
224
+ transform: rotate(90deg) translate(0, -10px);
225
+ }
226
+
227
+ .bx--cc--threshold--label {
228
+ background-color: #fa4d56;
229
+ pointer-events: none;
230
+ transition: opacity 0.1s;
231
+ transition-timing-function: cubic-bezier(0.4, 0.14, 0.3, 1);
232
+ display: inline;
233
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
234
+ position: absolute;
235
+ word-wrap: break-word;
236
+ z-index: 1059;
237
+ font-family: 'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif;
238
+ color: #171717;
239
+ line-height: 16px;
240
+ font-size: 12px;
241
+ padding: 4px;
242
+ min-width: 20px;
243
+ }
244
+ .bx--cc--threshold--label.hidden {
245
+ opacity: 0;
246
+ transition: opacity 0.1s;
247
+ transition-timing-function: cubic-bezier(0.4, 0.14, 0.3, 1);
248
+ }
249
+
170
250
  g.bx--cc--bubble circle.dot.hovered {
171
251
  fill-opacity: 1;
172
252
  transition: all 0.1s;
@@ -194,6 +274,9 @@ g.bx--cc--scatter circle.dot.unfilled {
194
274
  fill: #ffffff;
195
275
  stroke-width: 1.5;
196
276
  }
277
+ g.bx--cc--scatter circle.dot.threshold-anomaly {
278
+ stroke-width: 3;
279
+ }
197
280
  g.bx--cc--scatter g.lines path.line {
198
281
  mix-blend-mode: multiply;
199
282
  }
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["styles/components/_axis.scss","styles/vendor/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/themes/_mixins.scss","styles/components/_callouts.scss","styles/components/_grid.scss","styles/components/_ruler.scss","styles/vendor/@carbon/colors/scss/mixins.scss","styles/components/_zero-line.scss","styles/components/_layout.scss","styles/components/_legend.scss","styles/components/_title.scss","styles/components/_tooltip.scss","styles/vendor/@carbon/motion/scss/motion.scss","styles/graphs/_bubble.scss","styles/graphs/_line.scss","styles/graphs/_scatter.scss","styles/graphs/_radar.scss","styles/_type.scss","styles/_chart-holder.scss","styles/styles.scss"],"names":[],"mappings":"AAKC;EACC,MCqCU;EDpCV;;AAGD;EACC;;AAGD;EACC,QCyBQ;;ACxCV;EACC,QD0CW;;;AE1CX;EAME,MF6Be;EE3BhB,QF8BQ;;AEzBR;AAAA;EACC;EACA;EACA,QFsBO;;AEnBR;AAAA;EACC;EACA,QF0CO;;;AG/DT;EAME,QCkRmB;ED/QpB;EACA;EACA;;AAGD;EACC,MC+WkB;ED9WlB;EACA;;;AElBF;EACC,QLuCS;;;AMxCV;EACC;;;ACDD;EACC;;AAGC;EACC;EACA;;AAEA;EACC,QPkCQ;EOjCR,MP0Bc;;AOvBf;EACC;;AAIF;EACC;EACA,QH2QiB;EG1QjB;;AAGD;EACC,MPWe;EOVf,QPUe;;AOPhB;EACC;EACA,MPYS;;AORX;EACC;;;AClCF;EACC,MRuCW;EQtCX;EACA;EACA;;;ACDD;EACC,kBTgCS;ES/BT;EACA;EC4CC;ED1CD;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;ECiCA;;AD7BD;EACC,OTkBU;;AShBV;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAKH;EACC;;AACA;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;AAEA;EAME;;AAOL;EACC;EACA;EACA;EACA;EACA;;AACA;EACC;;;AEhGF;EACC;EACA;ED+CA;;AC3CD;EACC,MX2BQ;;AWxBT;EACC;;;ACdF;EACC;EACA;EACA;;;ACAA;EACC;EACA;EH+CA;;AG3CD;EACC,Mb2BQ;Ea1BR;;AAGD;EACC;;;ACbD;EACC;;AAGD;AAAA;EAEC;EACA,Qd8BQ;;Ac3BT;EAME,QVuQmB;;;AWrRtB;EACC;;AAEA;EACC;EACA;EACA,MfiCU;;;AgB3CZ;EACC;EACA;EACA;EACA;EACA,kBhB+BiB;;;AiBjBlB;EACC","file":"styles-g10.css"}
1
+ {"version":3,"sourceRoot":"","sources":["styles/components/_axis.scss","styles/vendor/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/themes/_mixins.scss","styles/components/_callouts.scss","styles/components/_grid.scss","styles/components/_ruler.scss","styles/vendor/@carbon/colors/scss/mixins.scss","styles/components/_skeleton.scss","styles/components/_zero-line.scss","styles/components/_layout.scss","styles/components/_legend.scss","styles/components/_title.scss","styles/components/_tooltip.scss","styles/vendor/@carbon/motion/scss/motion.scss","styles/components/_threshold.scss","styles/graphs/_bubble.scss","styles/graphs/_line.scss","styles/graphs/_scatter.scss","styles/graphs/_radar.scss","styles/_type.scss","styles/_chart-holder.scss","styles/styles.scss"],"names":[],"mappings":"AAKC;EACC;;AAGD;EACC,MCiCU;EDhCV;;AAGD;EACC;;AAGD;EACC,QCqBQ;;ACxCV;EACC,QD0CW;;;AE1CX;EAME,MF6Be;EE3BhB,QF8BQ;;AEzBR;AAAA;EACC;EACA;EACA,QFsBO;;AEnBR;AAAA;EACC;EACA,QF0CO;;;AG/DT;EASE,QC+QmB;ED5QpB;EACA;EACA;;AAGD;EACC,MC4WkB;ED3WlB;EACA;;;AEdD;EAME,MLuBe;;AKnBjB;EACC;EACA;;AAGD;EACC;EACA,QLeQ;;AKXR;EACC,YLUO;;AKPR;EACC,YD8ViB;;ACzVnB;EACC;;AAGD;EACC,MAzCe;;AA6Cf;EACC,YA9Cc;;AAiDf;EACC,YAjDmB;;;ACHtB;EACC,QNuCS;;;AOxCV;EACC;;;ACDD;EACC;;AAGC;EACC;EACA;;AAEA;EACC,QRkCQ;EQjCR,MR0Bc;;AQvBf;EACC;;AAIF;EACC;EACA,QJ2QiB;EI1QjB;;AAGD;EACC,MRWe;EQVf,QRUe;;AQPhB;EACC;EACA,MRYS;;AQRX;EACC;;;AClCF;EACC,MTuCW;EStCX;EACA;EACA;;;ACDD;EACC,kBVgCS;EU/BT;EACA;EC4CC;ED1CD;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;ECiCA;;AD7BD;EACC,OVkBU;;AUhBV;EACC;EACA;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACC;EACA;;AAGD;AAAA;EACC;;AAKH;EACC;;AACA;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;;AAEA;EAME;;AAOL;EACC;EACA;EACA;EACA;EACA;;AACA;EACC;;;AEnGF;EACC,QR4cS;EQ3cT;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;;;AAKH;EACC,kBRobU;EQnbV;EACA;EDwBC;ECtBD;EACA;EACA;EACA;EACA;EACA;EAEA,OZKW;EYJX;EACA;EACA;EACA;;AAEA;EACC;EACA;EDOA;;;AEjDD;EACC;EACA;EF+CA;;AE3CD;EACC,Mb2BQ;;AaxBT;EACC;;;ACdF;EACC;EACA;EACA;;;ACAA;EACC;EACA;EJ+CA;;AI3CD;EACC,Mf2BQ;Ee1BR;;AAGD;EACC;;AAGD;EACC;;;AClBD;EACC;;AAGD;AAAA;EAEC;EACA,QhB+BQ;;AgB5BT;EASE,QZqQmB;;;AarRtB;EACC;;AAEA;EACC;EACA;EACA,MjBiCU;;;AkB3CZ;EACC;EACA;EACA;EACA;EACA,kBlB+BiB;;;AmBjBlB;EACC","file":"styles-g10.css"}
@@ -1 +1 @@
1
- .bx--cc--axes g.axis g.tick text{fill:#565656;font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif}.bx--cc--axes g.axis g.tick line{display:none}.bx--cc--axes g.axis path.domain{stroke:#8c8c8c}.bx--cc--chart-svg g.callouts{stroke:#565656}.bx--cc--grid rect.chart-grid-backdrop{fill:#f3f3f3;stroke:#dcdcdc}.bx--cc--grid g.x.grid g.tick line,.bx--cc--grid g.y.grid g.tick line{pointer-events:none;stroke-width:1px;stroke:#dcdcdc}.bx--cc--grid g.x.grid g.tick.active line,.bx--cc--grid g.y.grid g.tick.active line{stroke-dasharray:2px;stroke:#0062ff}.bx--cc--ruler line.ruler-line{stroke:#000;stroke-width:1px;stroke-dasharray:2;pointer-events:none}.bx--cc--ruler text.axis-tooltip-text{fill:#fff;dominant-baseline:middle;text-anchor:middle}.bx--cc--zero-line line.domain{stroke:#8c8c8c}.bx--cc--chart-svg svg.layout-child{overflow:visible}g.bx--cc--legend{user-select:none}g.bx--cc--legend g.legend-item rect.checkbox{stroke-width:1px;stroke-opacity:1}g.bx--cc--legend g.legend-item rect.checkbox:not(.active){stroke:#565656;fill:#f3f3f3}g.bx--cc--legend g.legend-item rect.checkbox:not(.active)~g.check{display:none}g.bx--cc--legend g.legend-item rect.hover-stroke{fill:none;stroke:#0f62fe;stroke-width:2}g.bx--cc--legend g.legend-item g.check>svg path{fill:#f3f3f3;stroke:#f3f3f3}g.bx--cc--legend g.legend-item text{font-size:12px;fill:#565656}g.bx--cc--legend.clickable g.legend-item:hover{cursor:pointer}.bx--cc--title text.title{fill:#171717;font-size:16px;font-family:'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;font-weight:600}.bx--cc--tooltip{background-color:#f3f3f3;pointer-events:none;transition:opacity .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1);display:inline;box-shadow:0 1px 6px 0 rgba(0,0,0,.2);position:absolute;word-wrap:break-word;z-index:1059;font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif}.bx--cc--tooltip.hidden{opacity:0;transition:opacity .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}.bx--cc--tooltip .content-box{color:#171717}.bx--cc--tooltip .content-box .title-tooltip{line-height:16px;font-size:12px;padding:4px;min-width:20px}.bx--cc--tooltip .content-box .datapoint-tooltip,.bx--cc--tooltip .content-box .total-val{display:flex;padding:4px;flex-flow:row nowrap;width:auto;min-width:20px;justify-content:flex-start;align-items:center}.bx--cc--tooltip .content-box .datapoint-tooltip p,.bx--cc--tooltip .content-box .total-val p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:16px;font-size:12px;display:inline-block;margin:0;padding:0;border:0}.bx--cc--tooltip .content-box .datapoint-tooltip p.label,.bx--cc--tooltip .content-box .total-val p.label{flex:1;margin-right:8px}.bx--cc--tooltip .content-box .datapoint-tooltip p.value,.bx--cc--tooltip .content-box .total-val p.value{width:auto}.bx--cc--tooltip .content-box .total-val{font-weight:600}.bx--cc--tooltip .content-box .total-val .label{margin-left:4px}.bx--cc--tooltip .content-box ul.multi-tooltip{margin:0;padding:0}.bx--cc--tooltip .content-box ul.multi-tooltip li{list-style:none;position:relative}.bx--cc--tooltip .content-box ul.multi-tooltip li:not(:last-child){border-bottom:1px solid #dcdcdc}.bx--cc--tooltip .tooltip-color{position:absolute;left:0;top:0;width:4px;height:100%}.bx--cc--tooltip .tooltip-color+p.label{margin-left:4px}g.bx--cc--bubble circle.dot.hovered{fill-opacity:1;transition:all .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}g.bx--cc--bubble circle.dot.unfilled{fill:#fff}g.bx--cc--bubble g.lines path.line{mix-blend-mode:multiply}.bx--cc--line path.line{pointer-events:none;fill:none;stroke-width:1.5}g.bx--cc--scatter circle.dot.hovered{fill-opacity:1;transition:all .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}g.bx--cc--scatter circle.dot.unfilled{fill:#fff;stroke-width:1.5}g.bx--cc--scatter g.lines path.line{mix-blend-mode:multiply}.bx--cc--radar .blobs path{stroke-width:1.5px}.bx--cc--radar .y-axes path,.bx--cc--radar .x-axes line{stroke-width:1px;stroke:#dcdcdc}.bx--cc--radar .x-axes line.hovered{stroke:#000}svg.bx--cc--chart-svg{font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif}svg.bx--cc--chart-svg text{font-size:12px;font-weight:400;fill:#565656}.bx--chart-holder{position:relative;display:block;width:100%;height:100%;background-color:#f3f3f3}svg.bx--cc--chart-svg{overflow:visible}/*# sourceMappingURL=styles-g10.min.css.map */
1
+ .bx--cc--axes g.axis g.ticks.invisible{visibility:hidden}.bx--cc--axes g.axis g.tick text{fill:#565656;font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif}.bx--cc--axes g.axis g.tick line{display:none}.bx--cc--axes g.axis path.domain{stroke:#8c8c8c}.bx--cc--chart-svg g.callouts{stroke:#565656}.bx--cc--grid rect.chart-grid-backdrop{fill:#f3f3f3;stroke:#dcdcdc}.bx--cc--grid g.x.grid g.tick line,.bx--cc--grid g.y.grid g.tick line{pointer-events:none;stroke-width:1px;stroke:#dcdcdc}.bx--cc--grid g.x.grid g.tick.active line,.bx--cc--grid g.y.grid g.tick.active line{stroke-dasharray:2px;stroke:#0062ff}.bx--cc--ruler line.ruler-line{stroke:#000;stroke-width:1px;stroke-dasharray:2;pointer-events:none}.bx--cc--ruler text.axis-tooltip-text{fill:#fff;dominant-baseline:middle;text-anchor:middle}.bx--cc--skeleton rect.chart-skeleton-backdrop{fill:#f3f3f3}.bx--cc--skeleton .shimmer-effect-lines{stroke-width:1px;stroke:url(#shimmer-lines)}.bx--cc--skeleton .empty-state-lines{stroke-width:1px;stroke:#dcdcdc}.bx--cc--skeleton #shimmer-lines .stop-bg-shimmer{stop-color:#dcdcdc}.bx--cc--skeleton #shimmer-lines .stop-shimmer{stop-color:#fff}.bx--cc--skeleton .shimmer-effect-areas{fill:url(#shimmer-areas)}.bx--cc--skeleton .empty-state-areas{fill:rgba(127,127,127,.1)}.bx--cc--skeleton #shimmer-areas .stop-bg-shimmer{stop-color:rgba(127,127,127,.1)}.bx--cc--skeleton #shimmer-areas .stop-shimmer{stop-color:rgba(255,255,255,.15)}.bx--cc--zero-line line.domain{stroke:#8c8c8c}.bx--cc--chart-svg svg.layout-child{overflow:visible}g.bx--cc--legend{user-select:none}g.bx--cc--legend g.legend-item rect.checkbox{stroke-width:1px;stroke-opacity:1}g.bx--cc--legend g.legend-item rect.checkbox:not(.active){stroke:#565656;fill:#f3f3f3}g.bx--cc--legend g.legend-item rect.checkbox:not(.active)~g.check{display:none}g.bx--cc--legend g.legend-item rect.hover-stroke{fill:none;stroke:#0f62fe;stroke-width:2}g.bx--cc--legend g.legend-item g.check>svg path{fill:#f3f3f3;stroke:#f3f3f3}g.bx--cc--legend g.legend-item text{font-size:12px;fill:#565656}g.bx--cc--legend.clickable g.legend-item:hover{cursor:pointer}.bx--cc--title text.title{fill:#171717;font-size:16px;font-family:'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;font-weight:600}.bx--cc--tooltip{background-color:#f3f3f3;pointer-events:none;transition:opacity .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1);display:inline;box-shadow:0 1px 6px 0 rgba(0,0,0,.2);position:absolute;word-wrap:break-word;z-index:1059;font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif}.bx--cc--tooltip.hidden{opacity:0;transition:opacity .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}.bx--cc--tooltip .content-box{color:#171717}.bx--cc--tooltip .content-box .title-tooltip{line-height:16px;font-size:12px;padding:4px;min-width:20px}.bx--cc--tooltip .content-box .datapoint-tooltip,.bx--cc--tooltip .content-box .total-val{display:flex;padding:4px;flex-flow:row nowrap;width:auto;min-width:20px;justify-content:flex-start;align-items:center}.bx--cc--tooltip .content-box .datapoint-tooltip p,.bx--cc--tooltip .content-box .total-val p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:16px;font-size:12px;display:inline-block;margin:0;padding:0;border:0}.bx--cc--tooltip .content-box .datapoint-tooltip p.label,.bx--cc--tooltip .content-box .total-val p.label{flex:1;margin-right:8px}.bx--cc--tooltip .content-box .datapoint-tooltip p.value,.bx--cc--tooltip .content-box .total-val p.value{width:auto}.bx--cc--tooltip .content-box .total-val{font-weight:600}.bx--cc--tooltip .content-box .total-val .label{margin-left:4px}.bx--cc--tooltip .content-box ul.multi-tooltip{margin:0;padding:0}.bx--cc--tooltip .content-box ul.multi-tooltip li{list-style:none;position:relative}.bx--cc--tooltip .content-box ul.multi-tooltip li:not(:last-child){border-bottom:1px solid #dcdcdc}.bx--cc--tooltip .tooltip-color{position:absolute;left:0;top:0;width:4px;height:100%}.bx--cc--tooltip .tooltip-color+p.label{margin-left:4px}.bx--cc--threshold line.threshold-line{stroke:#fa4d56;stroke-width:1;stroke-dasharray:4;cursor:pointer;pointer-events:none}.bx--cc--threshold.active line.threshold-line{stroke-width:2}.bx--cc--threshold rect.threshold-hoverable-area{height:20px;transform:translate(0, -10px);cursor:pointer;fill:transparent}.bx--cc--threshold rect.threshold-hoverable-area.rotate{transform:rotate(90deg) translate(0, -10px)}.bx--cc--threshold--label{background-color:#fa4d56;pointer-events:none;transition:opacity .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1);display:inline;box-shadow:0 1px 6px 0 rgba(0,0,0,.2);position:absolute;word-wrap:break-word;z-index:1059;font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif;color:#171717;line-height:16px;font-size:12px;padding:4px;min-width:20px}.bx--cc--threshold--label.hidden{opacity:0;transition:opacity .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}g.bx--cc--bubble circle.dot.hovered{fill-opacity:1;transition:all .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}g.bx--cc--bubble circle.dot.unfilled{fill:#fff}g.bx--cc--bubble g.lines path.line{mix-blend-mode:multiply}.bx--cc--line path.line{pointer-events:none;fill:none;stroke-width:1.5}g.bx--cc--scatter circle.dot.hovered{fill-opacity:1;transition:all .1s;transition-timing-function:cubic-bezier(0.4, 0.14, 0.3, 1)}g.bx--cc--scatter circle.dot.unfilled{fill:#fff;stroke-width:1.5}g.bx--cc--scatter circle.dot.threshold-anomaly{stroke-width:3}g.bx--cc--scatter g.lines path.line{mix-blend-mode:multiply}.bx--cc--radar .blobs path{stroke-width:1.5px}.bx--cc--radar .y-axes path,.bx--cc--radar .x-axes line{stroke-width:1px;stroke:#dcdcdc}.bx--cc--radar .x-axes line.hovered{stroke:#000}svg.bx--cc--chart-svg{font-family:'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif}svg.bx--cc--chart-svg text{font-size:12px;font-weight:400;fill:#565656}.bx--chart-holder{position:relative;display:block;width:100%;height:100%;background-color:#f3f3f3}svg.bx--cc--chart-svg{overflow:visible}/*# sourceMappingURL=styles-g10.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["styles/components/_axis.scss","styles/vendor/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/themes/_mixins.scss","styles/components/_callouts.scss","styles/components/_grid.scss","styles/components/_ruler.scss","styles/vendor/@carbon/colors/scss/mixins.scss","styles/components/_zero-line.scss","styles/components/_layout.scss","styles/components/_legend.scss","styles/components/_title.scss","styles/components/_tooltip.scss","styles/vendor/@carbon/motion/scss/motion.scss","styles/graphs/_bubble.scss","styles/graphs/_line.scss","styles/graphs/_scatter.scss","styles/graphs/_radar.scss","styles/_type.scss","styles/_chart-holder.scss","styles/styles.scss"],"names":[],"mappings":"AAKC,iCACC,KCqCU,QDpCV,2EAGD,iCACC,aAGD,iCACC,OCyBQ,QCxCV,8BACC,OD0CW,QE1CX,uCAME,KF6Be,QE3BhB,OF8BQ,QEzBR,sEACC,oBACA,iBACA,OFsBO,QEnBR,oFACC,qBACA,OF0CO,QG/DT,+BAME,OCkRmB,KD/QpB,iBACA,mBACA,oBAGD,sCACC,KC+WkB,KD9WlB,yBACA,mBElBF,+BACC,OLuCS,QMxCV,oCACC,iBCDD,iBACC,iBAGC,6CACC,iBACA,iBAEA,0DACC,OPkCQ,QOjCR,KP0Bc,QOvBf,kEACC,aAIF,iDACC,UACA,OH2QiB,QG1QjB,eAGD,gDACC,KPWe,QOVf,OPUe,QOPhB,oCACC,eACA,KPYS,QORX,+CACC,eClCF,0BACC,KRuCW,QQtCX,eACA,iEACA,gBCDD,iBACC,iBTgCS,QS/BT,oBACA,uBC4CC,2DD1CD,eACA,sCACA,kBACA,qBACA,aACA,2EAEA,wBACC,UACA,uBCiCA,2DD7BD,8BACC,MTkBU,QShBV,6CACC,iBACA,eACA,YACA,eAGD,0FACC,aACA,YACA,qBACA,WACA,eACA,2BACA,mBAEA,8FACC,mBACA,gBACA,uBACA,iBACA,eACA,qBACA,SACA,UACA,SAEA,0GACC,OACA,iBAGD,0GACC,WAKH,yCACC,gBACA,gDACC,gBAIF,+CACC,SACA,UAEA,kDACC,gBACA,kBAEA,mEAME,gCAOL,gCACC,kBACA,OACA,MACA,UACA,YACA,wCACC,gBEhGF,oCACC,eACA,mBD+CA,2DC3CD,qCACC,KX2BQ,KWxBT,mCACC,wBCdF,wBACC,oBACA,UACA,sDCCC,eACA,mBH+CA,2DG3CD,sCACC,Kb2BQ,Ka1BR,iBAGD,oCACC,wBCbD,2BACC,mBAGD,wDAEC,iBACA,Od8BQ,Qc3BT,oCAME,OVuQmB,KWrRtB,sBACC,2EAEA,2BACC,eACA,gBACA,KfiCU,QgB3CZ,kBACC,kBACA,cACA,WACA,YACA,iBhB+BiB,QiBjBlB,sBACC","file":"styles-g10.min.css"}
1
+ {"version":3,"sourceRoot":"","sources":["styles/components/_axis.scss","styles/vendor/carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/themes/_mixins.scss","styles/components/_callouts.scss","styles/components/_grid.scss","styles/components/_ruler.scss","styles/vendor/@carbon/colors/scss/mixins.scss","styles/components/_skeleton.scss","styles/components/_zero-line.scss","styles/components/_layout.scss","styles/components/_legend.scss","styles/components/_title.scss","styles/components/_tooltip.scss","styles/vendor/@carbon/motion/scss/motion.scss","styles/components/_threshold.scss","styles/graphs/_bubble.scss","styles/graphs/_line.scss","styles/graphs/_scatter.scss","styles/graphs/_radar.scss","styles/_type.scss","styles/_chart-holder.scss","styles/styles.scss"],"names":[],"mappings":"AAKC,uCACC,kBAGD,iCACC,KCiCU,QDhCV,2EAGD,iCACC,aAGD,iCACC,OCqBQ,QCxCV,8BACC,OD0CW,QE1CX,uCAME,KF6Be,QE3BhB,OF8BQ,QEzBR,sEACC,oBACA,iBACA,OFsBO,QEnBR,oFACC,qBACA,OF0CO,QG/DT,+BASE,OC+QmB,KD5QpB,iBACA,mBACA,oBAGD,sCACC,KC4WkB,KD3WlB,yBACA,mBEdD,+CAME,KLuBe,QKnBjB,wCACC,iBACA,2BAGD,qCACC,iBACA,OLeQ,QKXR,kDACC,WLUO,QKPR,+CACC,WD8ViB,KCzVnB,wCACC,yBAGD,qCACC,KAzCe,qBA6Cf,kDACC,WA9Cc,qBAiDf,+CACC,WAjDmB,sBCHtB,+BACC,ONuCS,QOxCV,oCACC,iBCDD,iBACC,iBAGC,6CACC,iBACA,iBAEA,0DACC,ORkCQ,QQjCR,KR0Bc,QQvBf,kEACC,aAIF,iDACC,UACA,OJ2QiB,QI1QjB,eAGD,gDACC,KRWe,QQVf,ORUe,QQPhB,oCACC,eACA,KRYS,QQRX,+CACC,eClCF,0BACC,KTuCW,QStCX,eACA,iEACA,gBCDD,iBACC,iBVgCS,QU/BT,oBACA,uBC4CC,2DD1CD,eACA,sCACA,kBACA,qBACA,aACA,2EAEA,wBACC,UACA,uBCiCA,2DD7BD,8BACC,MVkBU,QUhBV,6CACC,iBACA,eACA,YACA,eAGD,0FAEC,aACA,YACA,qBACA,WACA,eACA,2BACA,mBAEA,8FACC,mBACA,gBACA,uBACA,iBACA,eACA,qBACA,SACA,UACA,SAEA,0GACC,OACA,iBAGD,0GACC,WAKH,yCACC,gBACA,gDACC,gBAIF,+CACC,SACA,UAEA,kDACC,gBACA,kBAEA,mEAME,gCAOL,gCACC,kBACA,OACA,MACA,UACA,YACA,wCACC,gBEnGF,uCACC,OR4cS,QQ3cT,eACA,mBACA,eACA,oBAGD,8CACC,eAGD,iDACC,YACA,8BACA,eACA,iBAEA,wDACC,4CAKH,0BACC,iBRobU,QQnbV,oBACA,uBDwBC,2DCtBD,eACA,sCACA,kBACA,qBACA,aACA,2EAEA,MZKW,QYJX,iBACA,eACA,YACA,eAEA,iCACC,UACA,uBDOA,2DEjDD,oCACC,eACA,mBF+CA,2DE3CD,qCACC,Kb2BQ,KaxBT,mCACC,wBCdF,wBACC,oBACA,UACA,sDCCC,eACA,mBJ+CA,2DI3CD,sCACC,Kf2BQ,Ke1BR,iBAGD,+CACC,eAGD,oCACC,wBClBD,2BACC,mBAGD,wDAEC,iBACA,OhB+BQ,QgB5BT,oCASE,OZqQmB,KarRtB,sBACC,2EAEA,2BACC,eACA,gBACA,KjBiCU,QkB3CZ,kBACC,kBACA,cACA,WACA,YACA,iBlB+BiB,QmBjBlB,sBACC","file":"styles-g10.min.css"}