playbook_ui_docs 14.23.0 → 14.24.0.pre.rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +46 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +7 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +51 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +1 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
  8. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
  9. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +1 -1
  10. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +1 -0
  11. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +32 -15
  12. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +2 -0
  13. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +35 -9
  14. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +1 -0
  15. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +26 -14
  16. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +32 -15
  17. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +45 -17
  18. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +59 -22
  19. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -9
  20. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +50 -18
  21. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +31 -18
  22. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +34 -17
  23. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +64 -23
  24. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +1 -0
  25. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -1
  26. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -1
  27. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +1 -3
  28. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +36 -17
  29. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +3 -0
  30. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +31 -16
  31. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +63 -31
  32. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +3 -0
  33. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +35 -16
  34. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +41 -16
  35. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +107 -62
  36. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +4 -7
  37. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -1
  38. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -1
  39. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +10 -0
  40. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +26 -0
  41. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +3 -0
  42. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
  43. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
  44. data/dist/playbook-doc.js +1 -1
  45. metadata +19 -10
  46. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +0 -30
  47. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +0 -1
  48. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +0 -52
  49. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +0 -1
  50. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling.md → _advanced_table_row_styling_react.md} +0 -0
  51. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors.md → _gauge_colors_rails.md} +0 -0
  52. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex.md → _gauge_complex_rails.md} +0 -0
  53. /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors.md → _line_graph_colors_rails.md} +0 -0
@@ -1,22 +1,54 @@
1
1
  import React from 'react'
2
- import Gauge from '../../pb_gauge/_gauge'
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
- const data = [{
5
- name: 'Rating', value: 4.5,
6
- }]
10
+ HighchartsMore(Highcharts);
11
+ SolidGauge(Highcharts);
7
12
 
8
- const GaugeMinMax = (props) => (
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
- export default GaugeMinMax
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 Gauge from '../../pb_gauge/_gauge'
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
- <Gauge
21
- chartData={[ { name: 'Point 1', value: 100 } ]}
22
- id="gauge-sizing4"
23
- {...props}
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
- <Gauge
33
- chartData={[ { name: 'Point 2', value: 75 } ]}
34
- id="gauge-sizing3"
35
- {...props}
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
- <Gauge
45
- chartData={[ { name: 'Point 3', value: 50 } ]}
46
- id="gauge-sizing2"
47
- {...props}
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
- <Gauge
57
- chartData={[ { name: 'Point 4', value: 25 } ]}
58
- height="100%"
59
- id="gauge-sizing1"
60
- {...props}
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 Gauge from '../../pb_gauge/_gauge'
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
- const data = [
5
- { name: 'Score', value: 780 },
6
- ]
8
+ HighchartsMore(Highcharts);
9
+ SolidGauge(Highcharts);
7
10
 
8
- const GaugeTitle = (props) => (
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
- export default GaugeTitle
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 Gauge from '../../pb_gauge/_gauge'
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', value: 32 },
14
+ { name: 'Data Used', y: 32 },
6
15
  ]
7
16
  const data2 = [
8
- { name: 'Sales to Date', value: 65 },
17
+ { name: 'Sales to Date', y: 65 },
9
18
  ]
10
19
 
11
- const GaugeUnits = (props) => (
12
- <div>
13
- <Gauge
14
- chartData={data1}
15
- id="gauge-units1"
16
- suffix="GB"
17
- title="Data Usage"
18
- {...props}
19
- />
20
- <Gauge
21
- chartData={data2}
22
- id="gauge-units2"
23
- prefix="$"
24
- suffix="k"
25
- title="Sales Goal"
26
- {...props}
27
- />
28
- </div>
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.
@@ -15,7 +15,6 @@ examples:
15
15
 
16
16
  react:
17
17
  - gauge_default: Default
18
- - gauge_pb_styles: Playbook Styles
19
18
  - gauge_disable_animation: Disable Animation
20
19
  - gauge_title: Title
21
20
  - gauge_units: 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
- Line graphs are used to show changes in data over time. The default height of line graph is 400px and can be changed. The default height is in pixel units, but can also use percentage string (percentage would be that of the width. For example, `height:"50%"` would mean that the height is 50% of the width). This allows for preserving the aspect ratio across responsive sizes.
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 LineGraph from '../_line_graph'
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 LineGraphColors = (props) => (
23
- <div>
24
- <LineGraph
25
- axisTitle="Number of Employees"
26
- chartData={data}
27
- colors={['data-4', 'data-5', 'data-6', 'data-7', 'data-8']}
28
- id="line-colors"
29
- title="Line Graph with Custom Data Colors"
30
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']}
31
- yAxisMin={0}
32
- {...props}
33
- />
34
- </div>
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
@@ -0,0 +1,3 @@
1
+
2
+ Custom data colors allow for color customization to match the needs of business requirements.
3
+ Import the colors from Playbook's tokens, then set custom colors in the colors array using the desired color variables. Hex colors are also available `eg: #CA0095`.
@@ -1,6 +1,7 @@
1
1
  import React from 'react'
2
-
3
- import LineGraph from '../_line_graph'
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 LineGraphDefault = (props) => (
23
- <div>
24
- <LineGraph
25
- axisTitle="Number of Employees"
26
- chartData={data}
27
- id="line-default"
28
- subTitle="Source: thesolarfoundation.com"
29
- title="Solar Employment Growth by Sector, 2010-2016"
30
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']}
31
- yAxisMin={0}
32
- {...props}
33
- />
34
- </div>
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
@@ -1,38 +1,70 @@
1
1
  import React from 'react'
2
- import LineGraph from '../_line_graph'
2
+ import lineGraphTheme from '../lineGraphTheme'
3
+ import Highcharts from "highcharts"
4
+ import HighchartsReact from "highcharts-react-official"
3
5
 
4
6
  const data = [{
5
7
  name: 'Number of Installations',
6
8
  data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
7
9
  }]
8
10
 
9
- const LineGraphDefault = (props) => (
10
- <div>
11
- <LineGraph
12
- axisTitle="Number of Employees"
13
- chartData={data}
14
- height="300px"
15
- id="line-fixed-height"
16
- title="Fixed Height (300px)"
17
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']}
18
- yAxisMin={0}
19
- {...props}
20
- />
21
-
22
- <br />
23
- <br />
24
-
25
- <LineGraph
26
- axisTitle="Number of Employees"
27
- chartData={data}
28
- height="50%"
29
- id="line-percentage-height"
30
- title="Percentage Height (50%)"
31
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']}
32
- yAxisMin={0}
33
- {...props}
34
- />
35
- </div>
36
- )
37
-
38
- export default LineGraphDefault
11
+ const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
12
+
13
+ const LineGraphHeight = () => {
14
+ const chartOptionsFirst = {
15
+ title: {
16
+ text: 'Fixed Height (300px)',
17
+ },
18
+ chart: {
19
+ height: '300px'
20
+ },
21
+ xAxis: {
22
+ categories: categories,
23
+ },
24
+ yAxis: {
25
+ min: 0,
26
+ title: {
27
+ text: 'Number of Employees',
28
+ },
29
+ },
30
+ series: data
31
+ }
32
+
33
+ const chartOptionsSecond = {
34
+ title: {
35
+ text: 'Percentage Height (50%)',
36
+ },
37
+ chart: {
38
+ height: '50%'
39
+ },
40
+ xAxis: {
41
+ categories: categories,
42
+ },
43
+ yAxis: {
44
+ min: 0,
45
+ title: {
46
+ text: 'Number of Employees',
47
+ },
48
+ },
49
+ series: data
50
+ }
51
+
52
+ const optionsFirst = Highcharts.merge({}, lineGraphTheme, chartOptionsFirst)
53
+ const optionsSecond = Highcharts.merge({}, lineGraphTheme, chartOptionsSecond)
54
+
55
+ return (
56
+ <div>
57
+ <HighchartsReact
58
+ highcharts={Highcharts}
59
+ options={optionsFirst}
60
+ />
61
+
62
+ <HighchartsReact
63
+ highcharts={Highcharts}
64
+ options={optionsSecond}
65
+ />
66
+ </div>
67
+ )
68
+ }
69
+
70
+ export default LineGraphHeight
@@ -0,0 +1,3 @@
1
+ By default, Highcharts have a height of 400px, but this can be customized. You can override the default by specifying either a percentage or a fixed pixel value.
2
+
3
+ Using a percentage maintains a consistent aspect ratio across different responsive sizes. For example, setting the height to 50% makes the chart’s height half of its width.
@@ -1,24 +1,43 @@
1
1
  import React from 'react'
2
- import LineGraph from '../../pb_line_graph/_line_graph'
2
+ import lineGraphTheme from '../lineGraphTheme'
3
+ import Highcharts from "highcharts"
4
+ import HighchartsReact from "highcharts-react-official"
3
5
 
4
6
  const data = [{
5
7
  name: 'Number of Installations',
6
8
  data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
7
9
  }]
8
10
 
9
- const LineGraphLegend = (props) => (
10
- <div>
11
- <LineGraph
12
- axisTitle="Number of Employees"
13
- chartData={data}
14
- id="line-test-2"
15
- legend
16
- title="Line Graph with Legend"
17
- xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']}
18
- yAxisMin={0}
19
- {...props}
20
- />
21
- </div>
22
- )
11
+ const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']
23
12
 
24
- export default LineGraphLegend
13
+ const chartOptions = {
14
+ series: data,
15
+ title: { text: "Line Graph with Legend" },
16
+ xAxis: {
17
+ categories: categories,
18
+ },
19
+ yAxis: {
20
+ min: 0,
21
+ title: {
22
+ text: "Number of Employees",
23
+ },
24
+ },
25
+ legend: {
26
+ enabled: true,
27
+ },
28
+ }
29
+
30
+ const LineGraphLegend = () => {
31
+ const options = Highcharts.merge({}, lineGraphTheme, chartOptions)
32
+
33
+ return(
34
+ <div>
35
+ <HighchartsReact
36
+ highcharts={Highcharts}
37
+ options={options}
38
+ />
39
+ </div>
40
+ )
41
+ }
42
+
43
+ export default LineGraphLegend