playbook_ui 11.12.0 → 11.12.1.pre.alpha.charts1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/index.js +0 -1
  3. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +145 -0
  4. data/app/pb_kits/playbook/pb_button/_button.scss +1 -1
  5. data/app/pb_kits/playbook/pb_circle_chart/ChartsTypes.ts +2 -0
  6. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +216 -0
  7. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.html.erb +9 -21
  8. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +7 -47
  9. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +16 -0
  10. data/app/pb_kits/playbook/pb_dashboard/{pbChartsDarkTheme.js → pbChartsDarkTheme.ts} +6 -21
  11. data/app/pb_kits/playbook/pb_dashboard/{pbChartsLightTheme.js → pbChartsLightTheme.ts} +6 -21
  12. data/app/pb_kits/playbook/pb_dashboard/themeTypes.ts +16 -0
  13. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +4 -0
  14. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +213 -0
  15. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.html.erb +1 -1
  16. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +8 -8
  17. data/app/pb_kits/playbook/pb_gauge/gauge.html.erb +1 -11
  18. data/app/pb_kits/playbook/pb_gauge/gauge.rb +3 -8
  19. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +148 -0
  20. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +111 -0
  21. data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.jsx +1 -1
  22. data/app/pb_kits/playbook/playbook-rails-react-bindings.js +4 -0
  23. data/app/pb_kits/playbook/playbook-rails.js +0 -4
  24. data/lib/playbook/version.rb +2 -2
  25. metadata +14 -12
  26. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +0 -111
  27. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +0 -151
  28. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +0 -112
  29. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +0 -113
  30. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.jsx +0 -79
  31. data/app/pb_kits/playbook/plugins/pb_chart.js +0 -322
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d5a9c00dbcbcf3ec7e44832210e0e0c3651eeb4ab6aa9f92ae083799801e9681
4
- data.tar.gz: 14929bd370f1f6452327ef413e98cb4b4d88318db6a805cb2f0f184662602a6d
3
+ metadata.gz: 6ec7a56f6eea6ea55c21faa02b8a1beb8110460443353439aa5de7961024b182
4
+ data.tar.gz: 46bb11b6178da12a8e9dcdfde1af101e675283b1aa1776455e9708f98a16a21e
5
5
  SHA512:
6
- metadata.gz: 960e28629efc7ac1daa28b7ddb79575cb5c5927f1dba68085f4e0e9c80ad24a3af3512b95f297e07a398e7f6c79b334e348832f76a66e89ac7b90e079fd5e389
7
- data.tar.gz: d5369dadccd7f2c4f629f2f8b9d7e1436a6c67664acbb0f095e9b79b329baa63cb5c84cf5aa30fe3e86faac90bf78de2f25e7acf5eee3e6a51c872b802c6f38b
6
+ metadata.gz: 4b63642925e7f72674c589f226baa9192e76492c20bbd06a11a942c6d9b6399e55bb163959f827924f49ee2531ada84cff1ddc00b36cfee289cb08a31a927676
7
+ data.tar.gz: 696b8d6cbf319c7b0a92089b738033525cf07cfa674f723767410936d94df1f0b5d40c27596437407248dbd16b0c0592738d28f7a53818edc9af7080788b89c9
@@ -115,7 +115,6 @@ export { default as barGraphSettings } from './pb_bar_graph/barGraphSettings'
115
115
  export { default as dashboardValueSettings } from './pb_dashboard_value/dashboardValueSettings'
116
116
 
117
117
  // Other JS/Plugins
118
- export { default as pbChart } from './plugins/pb_chart.js'
119
118
  export { default as datePickerHelper } from './pb_date_picker/date_picker_helper'
120
119
  export { default as PbPopover } from './pb_popover'
121
120
  export { default as PbTable } from './pb_table'
@@ -0,0 +1,145 @@
1
+ import React, { useState, useEffect } from "react";
2
+ import { globalProps } from "../utilities/globalProps";
3
+ import { buildAriaProps, buildDataProps } from "../utilities/props";
4
+
5
+ import HighchartsReact from "highcharts-react-official";
6
+ import Highcharts from "highcharts";
7
+ import { highchartsTheme } from "../pb_dashboard/pbChartsLightTheme";
8
+ import { highchartsDarkTheme } from "../pb_dashboard/pbChartsDarkTheme";
9
+ import mapColors from "../pb_dashboard/pbChartsColorsHelper";
10
+
11
+ import classnames from "classnames";
12
+
13
+ type BarGraphProps = {
14
+ align?: "left" | "right" | "center";
15
+ axisTitle: string;
16
+ dark?: Boolean;
17
+ xAxisCategories: [];
18
+ yAxisMin: number;
19
+ yAxisMax: number;
20
+ chartData: { name: string; data: number[] }[];
21
+ className?: string;
22
+ id: any;
23
+ pointStart: number | any;
24
+ subTitle?: string;
25
+ title: string;
26
+ type?: string;
27
+ legend?: boolean;
28
+ toggleLegendClick?: boolean;
29
+ height?: string;
30
+ colors: string[];
31
+ layout?: "horizontal" | "vertical" | "proximate";
32
+ verticalAlign?: "top" | "middle" | "bottom";
33
+ x?: number;
34
+ y?: number;
35
+ aria?: { [key: string]: string };
36
+ data?: { [key: string]: string };
37
+ };
38
+
39
+
40
+ const BarGraph = ({
41
+ aria = {},
42
+ data = {},
43
+ align = "center",
44
+ axisTitle,
45
+ dark = false,
46
+ chartData,
47
+ className = "pb_bar_graph",
48
+ colors,
49
+ id,
50
+ pointStart,
51
+ subTitle,
52
+ type = "column",
53
+ title = "Title",
54
+ xAxisCategories,
55
+ yAxisMin,
56
+ yAxisMax,
57
+ legend = false,
58
+ toggleLegendClick = true,
59
+ height,
60
+ layout = "horizontal",
61
+ verticalAlign = "bottom",
62
+ x = 0,
63
+ y = 0,
64
+ ...props
65
+ }: BarGraphProps) => {
66
+ const ariaProps = buildAriaProps(aria);
67
+ const dataProps = buildDataProps(data);
68
+ const setupTheme = () => {
69
+ dark
70
+ ? Highcharts.setOptions(highchartsDarkTheme)
71
+ : Highcharts.setOptions(highchartsTheme);
72
+ };
73
+ setupTheme();
74
+
75
+ const staticOptions = {
76
+ title: {
77
+ text: title,
78
+ },
79
+ chart: {
80
+ height: height,
81
+ type: type,
82
+ },
83
+ subtitle: {
84
+ text: subTitle,
85
+ },
86
+ yAxis: {
87
+ min: yAxisMin,
88
+ max: yAxisMax,
89
+ title: {
90
+ text: axisTitle,
91
+ },
92
+ },
93
+ xAxis: {
94
+ categories: xAxisCategories,
95
+ },
96
+ legend: {
97
+ enabled: legend,
98
+ align: align,
99
+ verticalAlign: verticalAlign,
100
+ layout: layout,
101
+ x: x,
102
+ y: y,
103
+ },
104
+ colors:
105
+ colors !== undefined && colors.length > 0
106
+ ? mapColors(colors)
107
+ : highchartsTheme.colors,
108
+ plotOptions: {
109
+ series: {
110
+ pointStart: pointStart,
111
+ events: {},
112
+ dataLabels: {
113
+ enabled: false,
114
+ },
115
+ },
116
+ },
117
+ series: chartData,
118
+ credits: false,
119
+ };
120
+
121
+ if (!toggleLegendClick) {
122
+ staticOptions.plotOptions.series.events = { legendItemClick: () => false };
123
+ }
124
+
125
+ const [options, setOptions] = useState({});
126
+
127
+ useEffect(() => {
128
+ setOptions({ ...staticOptions });
129
+ }, [chartData]);
130
+
131
+ return (
132
+ <HighchartsReact
133
+ containerProps={{
134
+ className: classnames(globalProps(props), className),
135
+ id: id,
136
+ ...ariaProps,
137
+ ...dataProps,
138
+ }}
139
+ highcharts={Highcharts}
140
+ options={options}
141
+ />
142
+ );
143
+ };
144
+
145
+ export default BarGraph;
@@ -31,7 +31,7 @@ $pb_button_sizes: (
31
31
  @include pb_button_link;
32
32
  @media (hover:hover) {
33
33
  &:hover {
34
- @include pb_button_hover(mix($primary_action, $white, 3%));
34
+ color: $text_lt_default;
35
35
  }
36
36
  }
37
37
  }
@@ -0,0 +1,2 @@
1
+ declare module "*.scss"
2
+ declare module "highcharts-react-official"
@@ -0,0 +1,216 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import classnames from "classnames";
3
+ import HighchartsReact from "highcharts-react-official";
4
+
5
+ import Highcharts from "highcharts";
6
+
7
+ import { highchartsTheme } from "../pb_dashboard/pbChartsLightTheme";
8
+ import { highchartsDarkTheme } from "../pb_dashboard/pbChartsDarkTheme";
9
+ import mapColors from "../pb_dashboard/pbChartsColorsHelper";
10
+ import { globalProps } from "../utilities/globalProps";
11
+ import { buildAriaProps, buildDataProps } from "../utilities/props";
12
+
13
+ type CircleChartProps = {
14
+ align?: "left" | "right" | "center";
15
+ aria: { [key: string]: string };
16
+ chartData?: [];
17
+ children?: Node;
18
+ className?: string;
19
+ colors?: string[];
20
+ dark?: Boolean;
21
+ data?: Object;
22
+ dataLabelHtml?: string;
23
+ dataLabels?: boolean;
24
+ height?: string;
25
+ id?: string;
26
+ innerSize?: "sm" | "md" | "lg" | "none";
27
+ legend?: boolean;
28
+ maxPointSize?: number;
29
+ minPointSize?: number;
30
+ rounded?: boolean;
31
+ startAngle?: number;
32
+ style?: string;
33
+ title?: string;
34
+ useHtml?: boolean;
35
+ zMin?: number;
36
+ layout?: "horizontal" | "vertical" | "proximate";
37
+ verticalAlign?: "top" | "middle" | "bottom";
38
+ x?: number;
39
+ y?: number;
40
+ borderColor?: string;
41
+ borderWidth?: number;
42
+ };
43
+
44
+ // Adjust Circle Chart Block Kit Dimensions to Match the Chart for Centering
45
+ const alignBlockElement = (event: any) => {
46
+ const itemToMove = document.querySelector(
47
+ `#wrapper-circle-chart-${event.target.renderTo.id} .pb-circle-chart-block`
48
+ ) as HTMLElement;
49
+ const chartContainer = document.querySelector(`#${event.target.renderTo.id}`);
50
+ if (itemToMove !== null) {
51
+ itemToMove.style.height = `${event.target.chartHeight}px`;
52
+ itemToMove.style.width = `${event.target.chartWidth}px`;
53
+ chartContainer.firstChild.before(itemToMove);
54
+ }
55
+ };
56
+
57
+ const CircleChart = ({
58
+ align = "center",
59
+ aria = {},
60
+ rounded = false,
61
+ borderColor = rounded ? null : "",
62
+ borderWidth = rounded ? 20 : null,
63
+ chartData,
64
+ children,
65
+ className,
66
+ colors = [],
67
+ dark = false,
68
+ data = {},
69
+ dataLabelHtml = "<div>{point.name}</div>",
70
+ dataLabels = false,
71
+ height,
72
+ id,
73
+ innerSize = "md",
74
+ legend = false,
75
+ maxPointSize = null,
76
+ minPointSize = null,
77
+ startAngle = null,
78
+ style = "pie",
79
+ title,
80
+ useHtml = false,
81
+ zMin = null,
82
+ layout = "horizontal",
83
+ verticalAlign = "bottom",
84
+ x = 0,
85
+ y = 0,
86
+ ...props
87
+ }: CircleChartProps) => {
88
+ const ariaProps = buildAriaProps(aria);
89
+ const dataProps = buildDataProps(data);
90
+ const setupTheme = () => {
91
+ dark
92
+ ? Highcharts.setOptions(highchartsDarkTheme)
93
+ : Highcharts.setOptions(highchartsTheme);
94
+ };
95
+ setupTheme();
96
+
97
+ Highcharts.setOptions({
98
+ tooltip: {
99
+ headerFormat: null,
100
+ pointFormat:
101
+ '<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: ' +
102
+ "<b>{point.y}</b>",
103
+ useHTML: useHtml,
104
+ },
105
+ });
106
+
107
+ const innerSizes = { sm: "35%", md: "50%", lg: "85%", none: "0%" };
108
+ const innerSizeFormat = (size: "sm" | "md" | "lg" | "none") =>
109
+ innerSizes[size];
110
+
111
+ const componentDidMount = useRef(false);
112
+
113
+ const [options, setOptions] = useState({});
114
+
115
+ useEffect(() => {
116
+ const formattedChartData = chartData.map((obj: any) => {
117
+ obj.y = obj.value;
118
+ delete obj.value;
119
+ return obj;
120
+ });
121
+
122
+ const staticOptions = {
123
+ title: {
124
+ text: title,
125
+ },
126
+ chart: {
127
+ height: height,
128
+ type: style,
129
+ events: {
130
+ render: (event: any) => alignBlockElement(event),
131
+ redraw: (event: any) => alignBlockElement(event),
132
+ },
133
+ },
134
+
135
+ legend: {
136
+ align: align,
137
+ verticalAlign: verticalAlign,
138
+ layout: layout,
139
+ x: x,
140
+ y: y,
141
+ },
142
+ plotOptions: {
143
+ pie: {
144
+ colors:
145
+ colors.length > 0 ? mapColors(colors) : highchartsTheme.colors,
146
+ dataLabels: {
147
+ enabled: dataLabels,
148
+ connectorShape: "straight",
149
+ connectorWidth: 3,
150
+ format: dataLabelHtml,
151
+ },
152
+ showInLegend: legend,
153
+ },
154
+ },
155
+ series: [
156
+ {
157
+ minPointSize: minPointSize,
158
+ maxPointSize: maxPointSize,
159
+ innerSize: borderWidth == 20 ? "100%" : innerSizeFormat(innerSize),
160
+ data: formattedChartData,
161
+ zMin: zMin,
162
+ startAngle: startAngle,
163
+ borderWidth: borderWidth,
164
+ borderColor: borderColor,
165
+ },
166
+ ],
167
+ credits: false,
168
+ };
169
+ setOptions({ ...staticOptions });
170
+ if (componentDidMount.current) {
171
+ Highcharts.charts.forEach((chart: any) => {
172
+ if (chart && chart.renderTo.id === id) {
173
+ const updatedValueArray = chartData.map((obj: any) => {
174
+ return obj.value;
175
+ });
176
+ chart.series[0].setData(updatedValueArray);
177
+ }
178
+ });
179
+ } else {
180
+ componentDidMount.current = true;
181
+ }
182
+ }, [chartData]);
183
+
184
+ return (
185
+ <>
186
+ {children ? (
187
+ <div id={`wrapper-circle-chart-${id}`}>
188
+ <HighchartsReact
189
+ containerProps={{
190
+ className: classnames("pb_circle_chart", globalProps(props)),
191
+ id: id,
192
+ ...ariaProps,
193
+ ...dataProps,
194
+ }}
195
+ highcharts={Highcharts}
196
+ options={options}
197
+ />
198
+ <div className="pb-circle-chart-block">{children}</div>
199
+ </div>
200
+ ) : (
201
+ <HighchartsReact
202
+ containerProps={{
203
+ className: classnames("pb_circle_chart", globalProps(props)),
204
+ id: id,
205
+ ...ariaProps,
206
+ ...dataProps,
207
+ }}
208
+ highcharts={Highcharts}
209
+ options={options}
210
+ />
211
+ )}
212
+ </>
213
+ );
214
+ };
215
+
216
+ export default CircleChart;
@@ -1,22 +1,10 @@
1
- <div id="wrapper-circle-chart-<%= object.id %>">
2
- <%= content_tag(:div, "",
3
- aria: object.aria,
4
- id: object.id,
5
- data: object.data,
6
- class: object.classname) do %>
7
- <% content_for :pb_js do %>
8
- <%= javascript_tag do %>
9
- window.addEventListener('DOMContentLoaded', function() {
10
- new pbChart('.selector', <%= object.chart_options %>)
11
-
12
- });
13
- <% end %>
14
- <% end %>
15
- <% end %>
16
-
17
- <% if content.present? %>
18
- <div class="pb-circle-chart-block">
19
- <%= content %>
1
+ <% if content.present? %>
2
+ <div id=wrapper-circle-chart-<%= object.id %> >
3
+ <%= react_component('CircleChart', object.chart_options) %>
4
+ <div class="pb-circle-chart-block">
5
+ <%= content %>
6
+ </div>
20
7
  </div>
21
- <% end %>
22
- </div>
8
+ <% else %>
9
+ <%= react_component('CircleChart', object.chart_options) %>
10
+ <% end %>
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Style/HashLikeCase
4
-
5
3
  module Playbook
6
4
  module PbCircleChart
7
5
  class CircleChart < Playbook::KitBase
@@ -13,7 +11,6 @@ module Playbook
13
11
  prop :style, type: Playbook::Props::Enum,
14
12
  values: %w[pie],
15
13
  default: "pie"
16
-
17
14
  prop :data_labels, type: Playbook::Props::Boolean, default: false
18
15
  prop :min_point_size, type: Playbook::Props::Numeric
19
16
  prop :max_point_size, type: Playbook::Props::Numeric
@@ -22,11 +19,8 @@ module Playbook
22
19
  default: "md"
23
20
  prop :z_min, type: Playbook::Props::Numeric
24
21
  prop :start_angle, type: Playbook::Props::Numeric
25
- prop :header_format
26
22
  prop :data_label_html, default: "<div>{point.name}</div>"
27
- prop :tooltip_html, default: '<span style="font-weight: bold; color:{point.color};">●</span>
28
- {point.name}: ' + '<b>{point.y}
29
- </b>'
23
+ prop :tooltip_html
30
24
  prop :use_html, type: Playbook::Props::Boolean, default: false
31
25
  prop :legend, type: Playbook::Props::Boolean, default: false
32
26
  prop :title, default: ""
@@ -43,64 +37,32 @@ module Playbook
43
37
  prop :x, type: Playbook::Props::Numeric
44
38
  prop :y, type: Playbook::Props::Numeric
45
39
 
46
- def chart_type
47
- style == "variablepie" ? "variablepie" : "pie"
48
- end
49
-
50
- def chart_data_formatted
51
- chart_data.map { |hash| hash[:y] = hash.delete :value }
52
- chart_data
53
- end
54
-
55
- def inner_size_format
56
- case inner_size
57
- when "lg"
58
- "85%"
59
- when "sm"
60
- "35%"
61
- when "none"
62
- "0%"
63
- when "md"
64
- "50%"
65
- end
66
- end
67
-
68
- def rounded_border_width
69
- rounded ? 20 : nil
70
- end
71
-
72
- def rounded_border_color
73
- rounded == true ? "null" : nil
74
- end
75
-
76
40
  def chart_options
77
41
  {
78
42
  align: align,
79
43
  id: id,
80
44
  colors: colors,
81
- borderColor: rounded_border_color,
82
- borderWidth: rounded_border_width,
83
- chartData: chart_data_formatted,
45
+ chartData: chart_data,
84
46
  dark: dark ? "dark" : "",
85
47
  title: title,
86
48
  height: height,
87
- type: chart_type,
88
- showInLegend: legend,
49
+ type: style,
50
+ legend: legend,
89
51
  dataLabelHtml: data_label_html,
90
52
  dataLabels: data_labels,
91
- headerFormat: header_format,
92
53
  tooltipHtml: tooltip_html,
93
54
  useHTML: use_html,
94
55
  minPointSize: min_point_size,
95
56
  maxPointSize: max_point_size,
96
- innerSize: inner_size_format,
57
+ innerSize: inner_size,
97
58
  zMin: z_min,
98
59
  startAngle: start_angle,
60
+ rounded: rounded,
99
61
  layout: layout,
100
62
  verticalAlign: vertical_align,
101
63
  x: x,
102
64
  y: y,
103
- }.to_json.html_safe
65
+ }
104
66
  end
105
67
 
106
68
  def classname
@@ -109,5 +71,3 @@ module Playbook
109
71
  end
110
72
  end
111
73
  end
112
-
113
- # rubocop:enable Style/HashLikeCase
@@ -0,0 +1,16 @@
1
+ import colors from "../tokens/exports/_colors.scss";
2
+
3
+
4
+ // Map Data Color String Props to our SCSS Variables
5
+ const mapColors = (array: string[]) => {
6
+ const regex = /(data)\-[1-8]/; //eslint-disable-line
7
+
8
+ const newArray = array.map((item) => {
9
+ return regex.test(item)
10
+ ? `${colors[`data_${item[item.length - 1]}`]}`
11
+ : item;
12
+ });
13
+ return newArray;
14
+ };
15
+
16
+ export default mapColors
@@ -1,9 +1,11 @@
1
1
  import colors from '../tokens/exports/_colors.scss'
2
2
  import typography from '../tokens/exports/_typography.scss'
3
3
 
4
+ import { ThemeProps } from './themeTypes'
5
+
4
6
  import Highcharts from 'highcharts'
5
7
 
6
- const highchartsDarkTheme = {
8
+ const highchartsDarkTheme: ThemeProps = {
7
9
  lang: {
8
10
  thousandsSep: ',',
9
11
  },
@@ -150,26 +152,6 @@ const highchartsDarkTheme = {
150
152
  },
151
153
  threshold: null,
152
154
  },
153
-
154
- // GAUGE STYLES
155
- solidgauge: {
156
- borderColor: colors.primary,
157
- borderWidth: 20,
158
- radius: 90,
159
- innerRadius: '90%',
160
- dataLabels: {
161
- borderWidth: 0,
162
- color: colors.text_dk_default,
163
- enabled: true,
164
- style: {
165
- fontFamily: typography.font_family_base,
166
- fontWeight: typography.regular,
167
- fontSize: typography.heading_2,
168
- },
169
- y: -26,
170
- },
171
- },
172
-
173
155
  // PIE STYLES
174
156
  pie: {
175
157
  colors: [
@@ -247,6 +229,9 @@ const highchartsDarkTheme = {
247
229
  }
248
230
  },
249
231
  },
232
+ credits: {
233
+ enabled: false
234
+ },
250
235
  }
251
236
 
252
237
  export { highchartsDarkTheme }
@@ -1,9 +1,11 @@
1
1
  import colors from '../tokens/exports/_colors.scss'
2
2
  import typography from '../tokens/exports/_typography.scss'
3
3
 
4
+ import { ThemeProps } from './themeTypes'
5
+
4
6
  import Highcharts from 'highcharts'
5
7
 
6
- const highchartsTheme = {
8
+ const highchartsTheme: ThemeProps = {
7
9
  lang: {
8
10
  thousandsSep: ',',
9
11
  },
@@ -150,26 +152,6 @@ const highchartsTheme = {
150
152
  },
151
153
  threshold: null,
152
154
  },
153
-
154
- // GAUGE STYLES
155
- solidgauge: {
156
- borderColor: colors.primary,
157
- borderWidth: 20,
158
- radius: 90,
159
- innerRadius: '90%',
160
- dataLabels: {
161
- borderWidth: 0,
162
- color: colors.text_lt_default,
163
- enabled: true,
164
- style: {
165
- fontFamily: typography.font_family_base,
166
- fontWeight: typography.regular,
167
- fontSize: typography.heading_2,
168
- },
169
- y: -26,
170
- },
171
- },
172
-
173
155
  // PIE STYLES
174
156
  pie: {
175
157
  colors: [
@@ -247,6 +229,9 @@ const highchartsTheme = {
247
229
  }
248
230
  },
249
231
  },
232
+ credits: {
233
+ enabled: false
234
+ },
250
235
  }
251
236
 
252
237
  export { highchartsTheme }
@@ -0,0 +1,16 @@
1
+ export type ThemeProps = {
2
+ lang?: {[key: string]: string}
3
+ credits?: {[key: string]: boolean}
4
+ colors?: string[]
5
+ chart?: {[key: string]: any}
6
+ title?: {[key: string]: string | {}}
7
+ subtitle?: {[key: string]: string | {};}
8
+ xAxis?: {[key: string]: any;}
9
+ yAxis?: {[key: string]: any;}
10
+ legend?: {[key: string]: string | {};}
11
+ labels?: {[key: string]: {};}
12
+ tooltip?: {[key: string]: any;}
13
+ pane?: {[key: string]: {};}
14
+ plotOptions?: {[key: string]: any;}
15
+ colorKey?: string
16
+ }
@@ -12,4 +12,8 @@
12
12
  rect.highcharts-background {
13
13
  fill: #0000 !important;
14
14
  }
15
+
16
+ .gauge-pane {
17
+ stroke-linejoin: round;
18
+ }
15
19
  }