playbook_ui_docs 14.23.0 → 14.24.0.pre.rc.1
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +46 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +7 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.jsx +107 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +51 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_rails.md +2 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +1 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +32 -15
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +2 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +35 -9
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +26 -14
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +32 -15
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +45 -17
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +59 -22
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -9
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +50 -18
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +31 -18
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +34 -17
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +64 -23
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +1 -3
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +36 -17
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +3 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +31 -16
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +63 -31
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +3 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +35 -16
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +41 -16
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +107 -62
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +4 -7
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +10 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +26 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +3 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +1 -0
- data/dist/playbook-doc.js +1 -1
- metadata +21 -10
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +0 -30
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +0 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +0 -52
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +0 -1
- /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling.md → _advanced_table_row_styling_react.md} +0 -0
- /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors.md → _gauge_colors_rails.md} +0 -0
- /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex.md → _gauge_complex_rails.md} +0 -0
- /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors.md → _line_graph_colors_rails.md} +0 -0
@@ -1,25 +1,62 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
2
|
+
import gaugeTheme from '../gaugeTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
5
|
+
import HighchartsMore from "highcharts/highcharts-more"
|
6
|
+
import SolidGauge from "highcharts/modules/solid-gauge"
|
7
|
+
import colors from '../../tokens/exports/_colors.module.scss'
|
8
|
+
import typography from '../../tokens/exports/_typography.module.scss'
|
3
9
|
|
4
|
-
|
5
|
-
|
6
|
-
<Gauge
|
7
|
-
chartData={[ { name: 'Pixels', value: 400 } ]}
|
8
|
-
height="400"
|
9
|
-
id="gauge-height-px"
|
10
|
-
suffix="px"
|
11
|
-
title="Fixed Height in Pixels"
|
12
|
-
{...props}
|
13
|
-
/>
|
14
|
-
<Gauge
|
15
|
-
chartData={[ { name: 'Percentage', value: 45 } ]}
|
16
|
-
height="45%"
|
17
|
-
id="gauge-height-percent"
|
18
|
-
suffix="%"
|
19
|
-
title="Height as Percentage of Width"
|
20
|
-
{...props}
|
21
|
-
/>
|
22
|
-
</div>
|
23
|
-
)
|
10
|
+
HighchartsMore(Highcharts);
|
11
|
+
SolidGauge(Highcharts);
|
24
12
|
|
25
|
-
|
13
|
+
const GaugeHeight = () => {
|
14
|
+
return (
|
15
|
+
<div>
|
16
|
+
<HighchartsReact
|
17
|
+
highcharts={Highcharts}
|
18
|
+
options={Highcharts.merge({}, gaugeTheme, {
|
19
|
+
title: {
|
20
|
+
text: "Fixed Height in Pixels",
|
21
|
+
},
|
22
|
+
chart: {
|
23
|
+
height: "400",
|
24
|
+
},
|
25
|
+
series: [{ data: [{ name: "Pixels", y: 400 }] }],
|
26
|
+
plotOptions: {
|
27
|
+
solidgauge: {
|
28
|
+
dataLabels: {
|
29
|
+
format:
|
30
|
+
`<span class="fix">{y:,f}</span>` +
|
31
|
+
`<span style="fill: ${colors.text_lt_light}; font-size: ${typography.text_larger};">px</span>`,
|
32
|
+
},
|
33
|
+
},
|
34
|
+
},
|
35
|
+
})}
|
36
|
+
/>
|
37
|
+
<HighchartsReact
|
38
|
+
highcharts={Highcharts}
|
39
|
+
options={Highcharts.merge({}, gaugeTheme, {
|
40
|
+
title: {
|
41
|
+
text: "Height as Percentage of Width",
|
42
|
+
},
|
43
|
+
chart: {
|
44
|
+
height: "45%",
|
45
|
+
},
|
46
|
+
series: [{ data: [{ name: "Percentage", y: 45 }] }],
|
47
|
+
plotOptions: {
|
48
|
+
solidgauge: {
|
49
|
+
dataLabels: {
|
50
|
+
format:
|
51
|
+
`<span class="fix">{y:,f}</span>` +
|
52
|
+
`<span style="fill: ${colors.text_lt_light}; font-size: ${typography.text_larger};">%</span>`,
|
53
|
+
},
|
54
|
+
},
|
55
|
+
},
|
56
|
+
})}
|
57
|
+
/>
|
58
|
+
</div>
|
59
|
+
);
|
60
|
+
};
|
61
|
+
|
62
|
+
export default GaugeHeight;
|
@@ -1,15 +1,31 @@
|
|
1
|
-
import React, { useState } from 'react'
|
2
|
-
|
1
|
+
import React, { useState, useRef } from 'react'
|
3
2
|
import Button from '../../pb_button/_button'
|
4
|
-
import
|
3
|
+
import gaugeTheme from '../gaugeTheme'
|
4
|
+
import Highcharts from "highcharts"
|
5
|
+
import HighchartsReact from "highcharts-react-official"
|
6
|
+
import HighchartsMore from "highcharts/highcharts-more"
|
7
|
+
import SolidGauge from "highcharts/modules/solid-gauge"
|
8
|
+
|
9
|
+
HighchartsMore(Highcharts);
|
10
|
+
SolidGauge(Highcharts);
|
5
11
|
|
6
12
|
const GaugeLiveData = (props) => {
|
7
13
|
const [value, setValue] = useState(50)
|
8
14
|
const [name, setName] = useState('Name')
|
15
|
+
const chartRef = useRef(null)
|
16
|
+
|
17
|
+
const namesArray = ['Name', 'Windows', 'Doors', 'Roofing', 'Siding', 'Gutters']
|
9
18
|
|
10
19
|
const updateValue = () => {
|
11
|
-
|
20
|
+
const newValue = Math.floor(Math.random() * 100)
|
21
|
+
setValue(newValue)
|
22
|
+
|
23
|
+
const chart = chartRef.current?.chart
|
24
|
+
if (chart) {
|
25
|
+
chart.series[0].points[0].update(newValue)
|
26
|
+
}
|
12
27
|
}
|
28
|
+
|
13
29
|
const updateName = () => {
|
14
30
|
let index = namesArray.indexOf(name)
|
15
31
|
if (namesArray.indexOf(name) == 5) {
|
@@ -18,8 +34,23 @@ const GaugeLiveData = (props) => {
|
|
18
34
|
index += 1
|
19
35
|
}
|
20
36
|
setName(namesArray[index])
|
37
|
+
|
38
|
+
const chart = chartRef.current?.chart
|
39
|
+
if (chart) {
|
40
|
+
chart.series[0].points[0].update({ name: namesArray[index] })
|
41
|
+
}
|
21
42
|
}
|
22
|
-
|
43
|
+
|
44
|
+
const options = Highcharts.merge({}, gaugeTheme,
|
45
|
+
{
|
46
|
+
title: {
|
47
|
+
text: name,
|
48
|
+
},
|
49
|
+
series: [{
|
50
|
+
data: [{ name: name, y: value }]
|
51
|
+
}]
|
52
|
+
}
|
53
|
+
)
|
23
54
|
|
24
55
|
return (
|
25
56
|
<div>
|
@@ -33,10 +64,10 @@ const GaugeLiveData = (props) => {
|
|
33
64
|
text="Update Name"
|
34
65
|
{...props}
|
35
66
|
/>
|
36
|
-
<
|
37
|
-
|
38
|
-
|
39
|
-
{
|
67
|
+
<HighchartsReact
|
68
|
+
highcharts={Highcharts}
|
69
|
+
options={options}
|
70
|
+
ref={chartRef}
|
40
71
|
/>
|
41
72
|
</div>
|
42
73
|
)
|
@@ -1,22 +1,54 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
2
|
+
import gaugeTheme from '../gaugeTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
5
|
+
import HighchartsMore from "highcharts/highcharts-more"
|
6
|
+
import SolidGauge from "highcharts/modules/solid-gauge"
|
7
|
+
import colors from '../../tokens/exports/_colors.module.scss'
|
8
|
+
import typography from '../../tokens/exports/_typography.module.scss'
|
3
9
|
|
4
|
-
|
5
|
-
|
6
|
-
}]
|
10
|
+
HighchartsMore(Highcharts);
|
11
|
+
SolidGauge(Highcharts);
|
7
12
|
|
8
|
-
const
|
9
|
-
<div>
|
10
|
-
<Gauge
|
11
|
-
chartData={data}
|
12
|
-
id="gauge-min-max"
|
13
|
-
max={5}
|
14
|
-
min={0}
|
15
|
-
showLabels
|
16
|
-
title="Product Rating"
|
17
|
-
{...props}
|
18
|
-
/>
|
19
|
-
</div>
|
20
|
-
)
|
13
|
+
const data = [{ name: "Rating", y: 4.5 }]
|
21
14
|
|
22
|
-
|
15
|
+
const baseOptions = {
|
16
|
+
title: {
|
17
|
+
text: "Product Rating",
|
18
|
+
},
|
19
|
+
yAxis: {
|
20
|
+
min: 0,
|
21
|
+
max: 5,
|
22
|
+
lineWidth: 0,
|
23
|
+
tickWidth: 0,
|
24
|
+
minorTickInterval: null,
|
25
|
+
tickAmount: 2,
|
26
|
+
tickPositions: [0, 5],
|
27
|
+
labels: {
|
28
|
+
y: 26,
|
29
|
+
enabled: true,
|
30
|
+
style: {
|
31
|
+
color: colors.neutral,
|
32
|
+
fontFamily: typography.font_family_base,
|
33
|
+
fontWeight: typography.bold,
|
34
|
+
}
|
35
|
+
},
|
36
|
+
},
|
37
|
+
series: [{ data: data }],
|
38
|
+
};
|
39
|
+
|
40
|
+
const GaugeMinMax = () => {
|
41
|
+
const options = Highcharts.merge({}, gaugeTheme, baseOptions);
|
42
|
+
|
43
|
+
return (
|
44
|
+
<div>
|
45
|
+
<HighchartsReact
|
46
|
+
highcharts={Highcharts}
|
47
|
+
id="gauge-min-max"
|
48
|
+
options={options}
|
49
|
+
/>
|
50
|
+
</div>
|
51
|
+
);
|
52
|
+
};
|
53
|
+
|
54
|
+
export default GaugeMinMax;
|
@@ -2,7 +2,14 @@ import React from 'react'
|
|
2
2
|
|
3
3
|
import Flex from '../../pb_flex/_flex'
|
4
4
|
import FlexItem from '../../pb_flex/_flex_item'
|
5
|
-
import
|
5
|
+
import gaugeTheme from '../gaugeTheme'
|
6
|
+
import Highcharts from "highcharts"
|
7
|
+
import HighchartsReact from "highcharts-react-official"
|
8
|
+
import HighchartsMore from "highcharts/highcharts-more"
|
9
|
+
import SolidGauge from "highcharts/modules/solid-gauge"
|
10
|
+
|
11
|
+
HighchartsMore(Highcharts);
|
12
|
+
SolidGauge(Highcharts);
|
6
13
|
|
7
14
|
const GaugeSizing = (props) => (
|
8
15
|
<div>
|
@@ -17,10 +24,11 @@ const GaugeSizing = (props) => (
|
|
17
24
|
shrink
|
18
25
|
{...props}
|
19
26
|
>
|
20
|
-
<
|
21
|
-
|
22
|
-
|
23
|
-
|
27
|
+
<HighchartsReact
|
28
|
+
highcharts={Highcharts}
|
29
|
+
options={Highcharts.merge({}, gaugeTheme, {
|
30
|
+
series: [{ data: [{ name: "Point 1", y: 100 }] }],
|
31
|
+
})}
|
24
32
|
/>
|
25
33
|
</FlexItem>
|
26
34
|
<FlexItem
|
@@ -29,10 +37,11 @@ const GaugeSizing = (props) => (
|
|
29
37
|
shrink
|
30
38
|
{...props}
|
31
39
|
>
|
32
|
-
<
|
33
|
-
|
34
|
-
|
35
|
-
|
40
|
+
<HighchartsReact
|
41
|
+
highcharts={Highcharts}
|
42
|
+
options={Highcharts.merge({}, gaugeTheme, {
|
43
|
+
series: [{ data: [{ name: "Point 2", y: 75 }] }],
|
44
|
+
})}
|
36
45
|
/>
|
37
46
|
</FlexItem>
|
38
47
|
<FlexItem
|
@@ -41,10 +50,11 @@ const GaugeSizing = (props) => (
|
|
41
50
|
shrink
|
42
51
|
{...props}
|
43
52
|
>
|
44
|
-
<
|
45
|
-
|
46
|
-
|
47
|
-
|
53
|
+
<HighchartsReact
|
54
|
+
highcharts={Highcharts}
|
55
|
+
options={Highcharts.merge({}, gaugeTheme, {
|
56
|
+
series: [{ data: [{ name: "Point 3", y: 50 }] }],
|
57
|
+
})}
|
48
58
|
/>
|
49
59
|
</FlexItem>
|
50
60
|
<FlexItem
|
@@ -53,11 +63,14 @@ const GaugeSizing = (props) => (
|
|
53
63
|
shrink
|
54
64
|
{...props}
|
55
65
|
>
|
56
|
-
<
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
66
|
+
<HighchartsReact
|
67
|
+
highcharts={Highcharts}
|
68
|
+
options={Highcharts.merge({}, gaugeTheme, {
|
69
|
+
chart: {
|
70
|
+
height: "100%",
|
71
|
+
},
|
72
|
+
series: [{ data: [{ name: "Point 4", y: 25 }] }],
|
73
|
+
})}
|
61
74
|
/>
|
62
75
|
</FlexItem>
|
63
76
|
</Flex>
|
@@ -1,21 +1,38 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
2
|
+
import gaugeTheme from '../gaugeTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
5
|
+
import HighchartsMore from "highcharts/highcharts-more"
|
6
|
+
import SolidGauge from "highcharts/modules/solid-gauge"
|
3
7
|
|
4
|
-
|
5
|
-
|
6
|
-
]
|
8
|
+
HighchartsMore(Highcharts);
|
9
|
+
SolidGauge(Highcharts);
|
7
10
|
|
8
|
-
const
|
9
|
-
<div>
|
10
|
-
<Gauge
|
11
|
-
chartData={data}
|
12
|
-
id="gauge-title"
|
13
|
-
max={850}
|
14
|
-
min={300}
|
15
|
-
title="Credit Score"
|
16
|
-
{...props}
|
17
|
-
/>
|
18
|
-
</div>
|
19
|
-
)
|
11
|
+
const data = [{ name: "Score", y: 780 }]
|
20
12
|
|
21
|
-
|
13
|
+
const baseOptions = {
|
14
|
+
title: {
|
15
|
+
text: "Credit Score",
|
16
|
+
},
|
17
|
+
yAxis: {
|
18
|
+
min: 300,
|
19
|
+
max: 850,
|
20
|
+
},
|
21
|
+
series: [{ data: data }],
|
22
|
+
};
|
23
|
+
|
24
|
+
const GaugeTitle = () => {
|
25
|
+
const options = Highcharts.merge({}, gaugeTheme, baseOptions);
|
26
|
+
|
27
|
+
return (
|
28
|
+
<div>
|
29
|
+
<HighchartsReact
|
30
|
+
highcharts={Highcharts}
|
31
|
+
id="gauge-title"
|
32
|
+
options={options}
|
33
|
+
/>
|
34
|
+
</div>
|
35
|
+
);
|
36
|
+
};
|
37
|
+
|
38
|
+
export default GaugeTitle;
|
@@ -1,31 +1,72 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
2
|
+
import gaugeTheme from '../gaugeTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
5
|
+
import HighchartsMore from "highcharts/highcharts-more"
|
6
|
+
import SolidGauge from "highcharts/modules/solid-gauge"
|
7
|
+
import colors from '../../tokens/exports/_colors.module.scss'
|
8
|
+
import typography from '../../tokens/exports/_typography.module.scss'
|
9
|
+
|
10
|
+
HighchartsMore(Highcharts);
|
11
|
+
SolidGauge(Highcharts);
|
3
12
|
|
4
13
|
const data1 = [
|
5
|
-
{ name: 'Data Used',
|
14
|
+
{ name: 'Data Used', y: 32 },
|
6
15
|
]
|
7
16
|
const data2 = [
|
8
|
-
{ name: 'Sales to Date',
|
17
|
+
{ name: 'Sales to Date', y: 65 },
|
9
18
|
]
|
10
19
|
|
11
|
-
const
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
20
|
+
const baseOptions1 = {
|
21
|
+
title: {
|
22
|
+
text: "Data Usage",
|
23
|
+
},
|
24
|
+
series: [{ data: data1 }],
|
25
|
+
plotOptions: {
|
26
|
+
solidgauge: {
|
27
|
+
dataLabels: {
|
28
|
+
format:
|
29
|
+
`<span class="fix">{y:,f}</span>` +
|
30
|
+
`<span style="fill: ${colors.text_lt_light}; font-size: ${typography.text_larger};">GB</span>`,
|
31
|
+
},
|
32
|
+
},
|
33
|
+
},
|
34
|
+
};
|
35
|
+
const baseOptions2 = {
|
36
|
+
title: {
|
37
|
+
text: "Sales Goal",
|
38
|
+
},
|
39
|
+
series: [{ data: data2 }],
|
40
|
+
plotOptions: {
|
41
|
+
solidgauge: {
|
42
|
+
dataLabels: {
|
43
|
+
format:
|
44
|
+
`<span y="28" style="fill: ${colors.text_lt_light}; font-size: ${typography.text_base};">$</span>` +
|
45
|
+
`<span class="fix" y="38">{y:,f}</span>` +
|
46
|
+
`<span style="fill: ${colors.text_lt_light}; font-size: ${typography.text_larger};">k</span>`,
|
47
|
+
},
|
48
|
+
},
|
49
|
+
},
|
50
|
+
};
|
51
|
+
|
52
|
+
const GaugeUnits = () => {
|
53
|
+
const options1 = Highcharts.merge({}, gaugeTheme, baseOptions1);
|
54
|
+
const options2 = Highcharts.merge({}, gaugeTheme, baseOptions2);
|
55
|
+
|
56
|
+
return (
|
57
|
+
<div>
|
58
|
+
<HighchartsReact
|
59
|
+
highcharts={Highcharts}
|
60
|
+
id="gauge-units1"
|
61
|
+
options={options1}
|
62
|
+
/>
|
63
|
+
<HighchartsReact
|
64
|
+
highcharts={Highcharts}
|
65
|
+
id="gauge-units2"
|
66
|
+
options={options2}
|
67
|
+
/>
|
68
|
+
</div>
|
69
|
+
);
|
70
|
+
};
|
30
71
|
|
31
|
-
export default GaugeUnits
|
72
|
+
export default GaugeUnits;
|
@@ -0,0 +1 @@
|
|
1
|
+
Use custom CSS with classes or inline styles (as shown in these docs) to customize the appearance of prefix and suffix units.
|
@@ -1,5 +1,4 @@
|
|
1
1
|
export { default as GaugeDefault } from './_gauge_default.jsx'
|
2
|
-
export { default as GaugePbStyles } from './_gauge_pb_styles.jsx'
|
3
2
|
export { default as GaugeDisableAnimation } from './_gauge_disable_animation.jsx'
|
4
3
|
export { default as GaugeFullCircle } from './_gauge_full_circle.jsx'
|
5
4
|
export { default as GaugeHeight } from './_gauge_height.jsx'
|
@@ -1,3 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
For more information, see: <a href="https://api.highcharts.com/highcharts/chart.height" target="_blank"> highcharts/chart.height</a>.
|
1
|
+
**Important Note for the React Kit**: In order to leverage this kit, you must install `highcharts` and `highcharts-react-official` into your project as shown below. To then apply Playbook styles to your Highchart, import lineGraphTheme.ts from playbook-ui and merge it with your Highchart options. Then, pass the merged value to the options prop. Playbook’s styling will be applied automatically. See the examples in the documentation below.
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
|
3
|
-
import
|
2
|
+
import lineGraphTheme from '../lineGraphTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
5
|
+
import colors from '../../tokens/exports/_colors.module.scss'
|
4
6
|
|
5
7
|
const data = [{
|
6
8
|
name: 'Installation',
|
@@ -19,19 +21,36 @@ const data = [{
|
|
19
21
|
data: [null, null, null, 3112, 4989, 5816, 15274, 18111],
|
20
22
|
}]
|
21
23
|
|
22
|
-
const
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
24
|
+
const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
25
|
+
|
26
|
+
const LineGraphColors = () => {
|
27
|
+
const chartOptions = {
|
28
|
+
title: {
|
29
|
+
text: 'Line Graph with Custom Data Colors',
|
30
|
+
},
|
31
|
+
xAxis: {
|
32
|
+
categories: categories,
|
33
|
+
},
|
34
|
+
yAxis: {
|
35
|
+
min: 0,
|
36
|
+
title: {
|
37
|
+
text: 'Number of Employees',
|
38
|
+
},
|
39
|
+
},
|
40
|
+
series: data,
|
41
|
+
colors: [colors.data_4, colors.data_5, "#144075", colors.data_7, colors.data_8]
|
42
|
+
}
|
43
|
+
|
44
|
+
const options = Highcharts.merge({}, lineGraphTheme, chartOptions)
|
45
|
+
|
46
|
+
return (
|
47
|
+
<div>
|
48
|
+
<HighchartsReact
|
49
|
+
highcharts={Highcharts}
|
50
|
+
options={options}
|
51
|
+
/>
|
52
|
+
</div>
|
53
|
+
)
|
54
|
+
}
|
36
55
|
|
37
|
-
export default LineGraphColors
|
56
|
+
export default LineGraphColors
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
|
3
|
-
import
|
2
|
+
import lineGraphTheme from '../lineGraphTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
4
5
|
|
5
6
|
const data = [{
|
6
7
|
name: 'Installation',
|
@@ -19,19 +20,33 @@ const data = [{
|
|
19
20
|
data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111],
|
20
21
|
}]
|
21
22
|
|
22
|
-
const
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
23
|
+
const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
24
|
+
|
25
|
+
const chartOptions = {
|
26
|
+
series: data,
|
27
|
+
title: { text: "Solar Employment Growth by Sector, 2010-2016" },
|
28
|
+
subtitle: { text: "Source: thesolarfoundation.com" },
|
29
|
+
xAxis: {
|
30
|
+
categories: categories,
|
31
|
+
},
|
32
|
+
yAxis: {
|
33
|
+
title: {
|
34
|
+
text: "Number of Employees",
|
35
|
+
},
|
36
|
+
},
|
37
|
+
}
|
38
|
+
|
39
|
+
const LineGraphDefault = () => {
|
40
|
+
const options = Highcharts.merge({}, lineGraphTheme, chartOptions)
|
41
|
+
|
42
|
+
return(
|
43
|
+
<div>
|
44
|
+
<HighchartsReact
|
45
|
+
highcharts={Highcharts}
|
46
|
+
options={options}
|
47
|
+
/>
|
48
|
+
</div>
|
49
|
+
)
|
50
|
+
}
|
36
51
|
|
37
52
|
export default LineGraphDefault
|