playbook_ui 14.23.0.pre.alpha.highchartstest9121 → 14.23.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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +11 -32
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -5
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +0 -6
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +6 -11
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -5
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -36
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -11
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -2
- data/app/pb_kits/playbook/pb_badge/_badge.scss +6 -5
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +15 -33
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +72 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +6 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +15 -33
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +22 -52
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +16 -12
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +15 -31
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +16 -39
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +38 -86
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +15 -32
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +22 -72
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +15 -31
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +16 -37
- data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_body/docs/_body_truncate.jsx +3 -3
- data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +1 -36
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +26 -71
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +16 -29
- data/app/pb_kits/playbook/pb_circle_chart/docs/{_circle_chart_colors_rails.md → _circle_chart_colors.md} +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +16 -28
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +2 -4
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +15 -23
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +51 -81
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +75 -103
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +7 -4
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +13 -19
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +38 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +17 -30
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +20 -34
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +20 -29
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +20 -28
- data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_draggable/context/index.tsx +4 -12
- data/app/pb_kits/playbook/pb_draggable/context/types.ts +2 -5
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +15 -32
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +9 -35
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +14 -26
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +15 -32
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +17 -45
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +22 -59
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +9 -40
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +18 -50
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +30 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +18 -31
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +17 -34
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +23 -64
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +1 -7
- data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +17 -36
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +16 -31
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +31 -63
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +16 -35
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +16 -41
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +62 -107
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +7 -4
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +52 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +1 -16
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +17 -30
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
- data/app/pb_kits/playbook/pb_title/docs/_title_truncate.jsx +3 -3
- data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_tooltip/index.js +36 -59
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -9
- data/dist/chunks/_typeahead-B7FRYVtS.js +22 -0
- data/dist/chunks/_weekday_stacked-BNSy7Mo2.js +45 -0
- data/dist/chunks/lib-Carqm8Ip.js +29 -0
- data/dist/chunks/{pb_form_validation-kl-4Jv4t.js → pb_form_validation-DqRmTS8m.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +8 -68
- data/dist/playbook-doc.js +2 -2
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +2 -2
- metadata +24 -40
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.jsx +0 -65
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +0 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +0 -46
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +0 -69
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +0 -51
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +0 -1
- data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
- data/app/pb_kits/playbook/pb_body/docs/_body_truncate_react.md +0 -4
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
- data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +0 -10
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +0 -26
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +0 -3
- data/app/pb_kits/playbook/pb_title/docs/_title_truncate_react.md +0 -4
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.html.erb +0 -14
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open_rails.md +0 -1
- data/dist/chunks/_line_graph-BfCo79KE.js +0 -1
- data/dist/chunks/_typeahead-Db4YQA5c.js +0 -6
- data/dist/chunks/_weekday_stacked-DhFTG-Jt.js +0 -61
- data/dist/chunks/lib-DnQyMxO1.js +0 -29
- /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling_react.md → _advanced_table_row_styling.md} +0 -0
- /data/app/pb_kits/playbook/pb_body/docs/{_body_truncate_rails.md → _body_truncate.md} +0 -0
- /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors_rails.md → _gauge_colors.md} +0 -0
- /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex_rails.md → _gauge_complex.md} +0 -0
- /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors_rails.md → _line_graph_colors.md} +0 -0
- /data/app/pb_kits/playbook/pb_title/docs/{_title_truncate_rails.md → _title_truncate.md} +0 -0
- /data/app/pb_kits/playbook/pb_tooltip/docs/{_tooltip_click_open_react.md → _tooltip_click_open.md} +0 -0
@@ -1,70 +1,38 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
3
|
-
import Highcharts from "highcharts"
|
4
|
-
import HighchartsReact from "highcharts-react-official"
|
2
|
+
import LineGraph from '../_line_graph'
|
5
3
|
|
6
4
|
const data = [{
|
7
5
|
name: 'Number of Installations',
|
8
6
|
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
|
9
7
|
}]
|
10
8
|
|
11
|
-
const
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
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
|
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
|
@@ -1,43 +1,24 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
3
|
-
import Highcharts from "highcharts"
|
4
|
-
import HighchartsReact from "highcharts-react-official"
|
2
|
+
import LineGraph from '../../pb_line_graph/_line_graph'
|
5
3
|
|
6
4
|
const data = [{
|
7
5
|
name: 'Number of Installations',
|
8
6
|
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
|
9
7
|
}]
|
10
8
|
|
11
|
-
const
|
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
|
+
)
|
12
23
|
|
13
|
-
|
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
|
24
|
+
export default LineGraphLegend
|
@@ -1,49 +1,24 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
3
|
-
import Highcharts from "highcharts"
|
4
|
-
import HighchartsReact from "highcharts-react-official"
|
2
|
+
import LineGraph from '../../pb_line_graph/_line_graph'
|
5
3
|
|
6
4
|
const data = [{
|
7
5
|
name: 'Number of Installations',
|
8
6
|
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
|
9
7
|
}]
|
10
8
|
|
11
|
-
const
|
9
|
+
const LineGraphLegendNonclickable = (props) => (
|
10
|
+
<div>
|
11
|
+
<LineGraph
|
12
|
+
axisTitle="Number of Employees"
|
13
|
+
chartData={data}
|
14
|
+
id="line-test-3"
|
15
|
+
legend
|
16
|
+
title="Line Graph with Legend Non Clickable"
|
17
|
+
toggleLegendClick={false}
|
18
|
+
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']}
|
19
|
+
{...props}
|
20
|
+
/>
|
21
|
+
</div>
|
22
|
+
)
|
12
23
|
|
13
|
-
|
14
|
-
title: {
|
15
|
-
text: 'Line Graph with Legend Non Clickable',
|
16
|
-
},
|
17
|
-
xAxis: {
|
18
|
-
categories: categories,
|
19
|
-
},
|
20
|
-
yAxis: {
|
21
|
-
title: {
|
22
|
-
text: 'Number of Employees',
|
23
|
-
},
|
24
|
-
},
|
25
|
-
legend: {
|
26
|
-
enabled: true,
|
27
|
-
events: {
|
28
|
-
itemClick: function () {
|
29
|
-
return false;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
},
|
33
|
-
series: data
|
34
|
-
}
|
35
|
-
|
36
|
-
const LineGraphLegendNonclickable = () => {
|
37
|
-
const options = Highcharts.merge({}, lineGraphTheme, chartOptions)
|
38
|
-
|
39
|
-
return (
|
40
|
-
<div>
|
41
|
-
<HighchartsReact
|
42
|
-
highcharts={Highcharts}
|
43
|
-
options={options}
|
44
|
-
/>
|
45
|
-
</div>
|
46
|
-
)
|
47
|
-
}
|
48
|
-
|
49
|
-
export default LineGraphLegendNonclickable
|
24
|
+
export default LineGraphLegendNonclickable
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import React from 'react'
|
2
|
-
import
|
3
|
-
import Highcharts from "highcharts"
|
4
|
-
import HighchartsReact from "highcharts-react-official"
|
2
|
+
import LineGraph from '../../pb_line_graph/_line_graph'
|
5
3
|
import Title from '../../pb_title/_title'
|
6
4
|
|
7
5
|
const data = [{
|
@@ -21,109 +19,66 @@ const data = [{
|
|
21
19
|
data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111],
|
22
20
|
}]
|
23
21
|
|
24
|
-
const
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
const optionsSecond = Highcharts.merge({}, lineGraphTheme, chartOptionsSecond)
|
86
|
-
const optionsThird = Highcharts.merge({}, lineGraphTheme, chartOptionsThird)
|
87
|
-
|
88
|
-
return (
|
89
|
-
<div>
|
90
|
-
<Title
|
91
|
-
paddingY="sm"
|
92
|
-
size={4}
|
93
|
-
tag="h4"
|
94
|
-
text="align | verticalAlign"
|
95
|
-
{...props}
|
96
|
-
/>
|
97
|
-
<HighchartsReact
|
98
|
-
highcharts={Highcharts}
|
99
|
-
options={optionsFirst}
|
100
|
-
/>
|
101
|
-
|
102
|
-
<Title
|
103
|
-
paddingY="sm"
|
104
|
-
size={4}
|
105
|
-
tag="h4"
|
106
|
-
text="layout"
|
107
|
-
{...props}
|
108
|
-
/>
|
109
|
-
<HighchartsReact
|
110
|
-
highcharts={Highcharts}
|
111
|
-
options={optionsSecond}
|
112
|
-
/>
|
113
|
-
|
114
|
-
<Title
|
115
|
-
paddingY="sm"
|
116
|
-
size={4}
|
117
|
-
tag="h4"
|
118
|
-
text="x | y"
|
119
|
-
{...props}
|
120
|
-
/>
|
121
|
-
<HighchartsReact
|
122
|
-
highcharts={Highcharts}
|
123
|
-
options={optionsThird}
|
124
|
-
/>
|
125
|
-
</div>
|
126
|
-
)
|
127
|
-
}
|
22
|
+
const LineGraphLegendPosition = (props) => (
|
23
|
+
<div>
|
24
|
+
<Title
|
25
|
+
paddingBottom="sm"
|
26
|
+
paddingTop="sm"
|
27
|
+
size={4}
|
28
|
+
tag="h4"
|
29
|
+
text="align | verticalAlign"
|
30
|
+
/>
|
31
|
+
<LineGraph
|
32
|
+
align='right'
|
33
|
+
axisTitle="Number of Employees"
|
34
|
+
chartData={data}
|
35
|
+
id="legend-position-line"
|
36
|
+
legend
|
37
|
+
title="Alignment of Legend"
|
38
|
+
verticalAlign="top"
|
39
|
+
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']}
|
40
|
+
yAxisMin={0}
|
41
|
+
{...props}
|
42
|
+
/>
|
43
|
+
<Title
|
44
|
+
paddingBottom="sm"
|
45
|
+
paddingTop="sm"
|
46
|
+
size={4}
|
47
|
+
tag="h4"
|
48
|
+
text="layout"
|
49
|
+
/>
|
50
|
+
<LineGraph
|
51
|
+
axisTitle="Number of Employees"
|
52
|
+
chartData={data}
|
53
|
+
id="legend-position-line-1"
|
54
|
+
layout="vertical"
|
55
|
+
legend
|
56
|
+
title="Layout of Legend"
|
57
|
+
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']}
|
58
|
+
yAxisMin={0}
|
59
|
+
{...props}
|
60
|
+
/>
|
61
|
+
<Title
|
62
|
+
paddingBottom="sm"
|
63
|
+
paddingTop="sm"
|
64
|
+
size={4}
|
65
|
+
tag="h4"
|
66
|
+
text="x | y"
|
67
|
+
/>
|
68
|
+
<LineGraph
|
69
|
+
axisTitle="Number of Employees"
|
70
|
+
chartData={data}
|
71
|
+
id="legend-position-line-2"
|
72
|
+
layout="vertical"
|
73
|
+
legend
|
74
|
+
title="Offset of Legend"
|
75
|
+
x={100}
|
76
|
+
xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']}
|
77
|
+
y={10}
|
78
|
+
yAxisMin={0}
|
79
|
+
{...props}
|
80
|
+
/>
|
81
|
+
</div>
|
82
|
+
)
|
128
83
|
|
129
84
|
export default LineGraphLegendPosition
|
@@ -1,14 +1,17 @@
|
|
1
1
|
##### Prop
|
2
2
|
|
3
3
|
`align` **Type**: String | **Values**: left | center | right (defaults to center)
|
4
|
-
`verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults
|
4
|
+
`verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults middle)
|
5
5
|
`layout` **Type**: String | **Values**: horizontal | vertical | proximate (defaults to horizontal)
|
6
6
|
`x` **Type**: Number (defaults to 0)
|
7
7
|
`y` **Type**: Number (defaults to 0)
|
8
8
|
|
9
|
-
|
9
|
+
-
|
10
|
+
|
11
|
+
- `layout` determines the position of the legend items
|
10
12
|
`layout: proximate` will place the legend items as close as possible to the graphs they're representing. It will also determine whether to place the legend above/below or on the side of the plot area, if the legend is in a corner.
|
11
13
|
|
12
|
-
`x` offsets the legend relative to its horizontal
|
14
|
+
- `x` offsets the legend relative to its horizontal alignmnet. Negative x moves it to the left, positive x moves it to the right
|
15
|
+
|
13
16
|
|
14
|
-
`y` offsets the legend relative to its vertical
|
17
|
+
- `y` offsets the legend relative to its vertical alignmnet. Negative y moves it up, positive y moves it down.
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import lineGraphTheme from '../lineGraphTheme'
|
3
|
+
import Highcharts from "highcharts"
|
4
|
+
import HighchartsReact from "highcharts-react-official"
|
5
|
+
|
6
|
+
const data = [{
|
7
|
+
name: 'Installation',
|
8
|
+
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
|
9
|
+
}, {
|
10
|
+
name: 'Manufacturing',
|
11
|
+
data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434],
|
12
|
+
}, {
|
13
|
+
name: 'Sales & Distribution',
|
14
|
+
data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387],
|
15
|
+
}, {
|
16
|
+
name: 'Project Development',
|
17
|
+
data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227],
|
18
|
+
}, {
|
19
|
+
name: 'Other',
|
20
|
+
data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111],
|
21
|
+
}]
|
22
|
+
|
23
|
+
const categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
24
|
+
|
25
|
+
const baseOptions = {
|
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 LineGraphPbStyles = () => {
|
40
|
+
const options = Highcharts.merge({}, lineGraphTheme, baseOptions)
|
41
|
+
|
42
|
+
return(
|
43
|
+
<div>
|
44
|
+
<HighchartsReact
|
45
|
+
highcharts={Highcharts}
|
46
|
+
options={options}
|
47
|
+
/>
|
48
|
+
</div>
|
49
|
+
)
|
50
|
+
}
|
51
|
+
|
52
|
+
export default LineGraphPbStyles
|
@@ -0,0 +1 @@
|
|
1
|
+
You don't need to use the Line Graph Kit to apply Playbook styles to your Highcharts line graph. Just import lineGraphTheme.ts and merge it with your graph options—Playbook’s styling will apply automatically.
|
@@ -4,3 +4,4 @@ export { default as LineGraphLegendPosition } from './_line_graph_legend_positio
|
|
4
4
|
export { default as LineGraphLegendNonclickable } from './_line_graph_legend_nonclickable.jsx'
|
5
5
|
export { default as LineGraphHeight } from './_line_graph_height.jsx'
|
6
6
|
export { default as LineGraphColors } from './_line_graph_colors.jsx'
|
7
|
+
export { default as LineGraphPbStyles } from './_line_graph_pb_styles.jsx'
|
@@ -50,21 +50,7 @@ const lineGraphTheme = {
|
|
50
50
|
},
|
51
51
|
},
|
52
52
|
credits: { enabled: false },
|
53
|
-
legend: {
|
54
|
-
enabled: false,
|
55
|
-
itemStyle: {
|
56
|
-
fontFamily: typography.font_family_base,
|
57
|
-
color: colors.text_lt_light,
|
58
|
-
fontWeight: typography.regular,
|
59
|
-
fontSize: typography.text_smaller,
|
60
|
-
},
|
61
|
-
itemHoverStyle: {
|
62
|
-
color: colors.text_lt_default,
|
63
|
-
},
|
64
|
-
itemHiddenStyle: {
|
65
|
-
color: colors.text_lt_lighter,
|
66
|
-
},
|
67
|
-
},
|
53
|
+
legend: { enabled: false },
|
68
54
|
colors: [
|
69
55
|
colors.data_1,
|
70
56
|
colors.data_2,
|
@@ -102,7 +88,6 @@ const lineGraphTheme = {
|
|
102
88
|
minorGridLineColor: colors.border_light,
|
103
89
|
lineWidth: 0,
|
104
90
|
tickWidth: 0,
|
105
|
-
tickPixelInterval: 50,
|
106
91
|
labels: {
|
107
92
|
style: {
|
108
93
|
fontFamily: typography.font_family_base,
|
@@ -38,7 +38,6 @@ type PhoneNumberInputProps = {
|
|
38
38
|
required?: boolean,
|
39
39
|
value?: string,
|
40
40
|
formatAsYouType?: boolean,
|
41
|
-
strictMode?: boolean,
|
42
41
|
countrySearch?: boolean,
|
43
42
|
}
|
44
43
|
|
@@ -69,7 +68,7 @@ const containOnlyNumbers = (value: string) => {
|
|
69
68
|
return /^[()+\-\ .\d]*$/g.test(value)
|
70
69
|
}
|
71
70
|
|
72
|
-
const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.
|
71
|
+
const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.MutableRefObject<unknown>) => {
|
73
72
|
const {
|
74
73
|
aria = {},
|
75
74
|
className,
|
@@ -95,7 +94,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
95
94
|
preferredCountries = [],
|
96
95
|
value = "",
|
97
96
|
formatAsYouType = false,
|
98
|
-
strictMode = false,
|
99
97
|
countrySearch = false,
|
100
98
|
} = props
|
101
99
|
|
@@ -108,16 +106,15 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
108
106
|
className
|
109
107
|
)
|
110
108
|
|
111
|
-
const inputRef = useRef<HTMLInputElement
|
109
|
+
const inputRef = useRef<HTMLInputElement>()
|
112
110
|
const itiRef = useRef<any>(null);
|
113
111
|
const [inputValue, setInputValue] = useState(value)
|
114
112
|
const [error, setError] = useState(props.error)
|
115
113
|
const [dropDownIsOpen, setDropDownIsOpen] = useState(false)
|
116
114
|
const [selectedData, setSelectedData] = useState()
|
117
|
-
const [hasTyped, setHasTyped] = useState(false)
|
118
115
|
|
119
116
|
useEffect(() => {
|
120
|
-
if (
|
117
|
+
if (error?.length > 0) {
|
121
118
|
onValidate(false)
|
122
119
|
} else {
|
123
120
|
onValidate(true)
|
@@ -134,7 +131,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
134
131
|
clearField() {
|
135
132
|
setInputValue("")
|
136
133
|
setError("")
|
137
|
-
setHasTyped(false)
|
138
134
|
},
|
139
135
|
inputNode() {
|
140
136
|
return inputRef.current
|
@@ -205,8 +201,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
205
201
|
}
|
206
202
|
|
207
203
|
const validateErrors = () => {
|
208
|
-
if (!hasTyped && !error) return
|
209
|
-
|
210
204
|
if (itiRef.current) isValid(itiRef.current.isValidNumber())
|
211
205
|
if (validateOnlyNumbers(itiRef.current)) return
|
212
206
|
if (validateTooLongNumber(itiRef.current)) return
|
@@ -220,7 +214,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
220
214
|
}
|
221
215
|
|
222
216
|
const handleOnChange = (evt: React.ChangeEvent<HTMLInputElement>) => {
|
223
|
-
if (!hasTyped) setHasTyped(true)
|
224
217
|
setInputValue(evt.target.value)
|
225
218
|
let phoneNumberData
|
226
219
|
if (formatAsYouType) {
|
@@ -258,7 +251,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
258
251
|
countrySearch: countrySearch,
|
259
252
|
fixDropdownWidth: false,
|
260
253
|
formatAsYouType: formatAsYouType,
|
261
|
-
strictMode: strictMode,
|
262
254
|
hiddenInput: hiddenInputs ? () => ({
|
263
255
|
phone: `${name}_full`,
|
264
256
|
country: `${name}_country_code`,
|
@@ -267,17 +259,16 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
267
259
|
|
268
260
|
itiRef.current = telInputInit;
|
269
261
|
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
262
|
+
inputRef.current.addEventListener("countrychange", (evt: Event) => {
|
263
|
+
const phoneNumberData = getCurrentSelectedData(telInputInit, (evt.target as HTMLInputElement).value)
|
264
|
+
setSelectedData(phoneNumberData)
|
265
|
+
onChange(phoneNumberData)
|
266
|
+
validateErrors()
|
267
|
+
})
|
268
|
+
|
269
|
+
inputRef.current.addEventListener("open:countrydropdown", () => setDropDownIsOpen(true))
|
270
|
+
inputRef.current.addEventListener("close:countrydropdown", () => setDropDownIsOpen(false))
|
277
271
|
|
278
|
-
inputRef.current.addEventListener("open:countrydropdown", () => setDropDownIsOpen(true))
|
279
|
-
inputRef.current.addEventListener("close:countrydropdown", () => setDropDownIsOpen(false))
|
280
|
-
}
|
281
272
|
if (formatAsYouType) {
|
282
273
|
inputRef.current?.addEventListener("input", (evt) => {
|
283
274
|
handleOnChange(evt as unknown as React.ChangeEvent<HTMLInputElement>);
|
@@ -312,16 +303,12 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
312
303
|
{...htmlProps}
|
313
304
|
>
|
314
305
|
<TextInput
|
315
|
-
ref={
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
} else {
|
320
|
-
(ref as React.MutableRefObject<HTMLInputElement | null>).current = inputNode
|
321
|
-
}
|
306
|
+
ref={
|
307
|
+
inputNode => {
|
308
|
+
ref ? ref.current = inputNode : null
|
309
|
+
inputRef.current = inputNode
|
322
310
|
}
|
323
|
-
|
324
|
-
}}
|
311
|
+
}
|
325
312
|
{...textInputProps}
|
326
313
|
/>
|
327
314
|
</div>
|
@@ -10,7 +10,6 @@ examples:
|
|
10
10
|
- phone_number_input_clear_field: Clearing the Input Field
|
11
11
|
- phone_number_input_access_input_element: Accessing the Input Element
|
12
12
|
- phone_number_input_format: Format as You Type
|
13
|
-
- phone_number_input_strict_mode: Strict Mode
|
14
13
|
- phone_number_input_country_search: Country Search
|
15
14
|
|
16
15
|
rails:
|
@@ -21,6 +20,5 @@ examples:
|
|
21
20
|
- phone_number_input_exclude_countries: Exclude Countries
|
22
21
|
- phone_number_input_validation: Form Validation
|
23
22
|
- phone_number_input_format: Format as You Type
|
24
|
-
- phone_number_input_strict_mode: Strict Mode
|
25
23
|
- phone_number_input_hidden_inputs: Hidden Inputs
|
26
24
|
- phone_number_input_country_search: Country Search
|