playbook_ui 14.23.0.pre.alpha.PLAY2205atborderbug9085 → 14.23.0.pre.alpha.PLAY2243customindeterminatemaincheckboxlabels9046
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/TableActionBar.tsx +10 -10
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +1 -53
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +6 -9
- 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 +1 -13
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table_action_bar.js +0 -16
- 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/example.yml +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +1 -7
- 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_bar_graph/docs/_bar_graph_legend_position.md +1 -1
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +12 -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_checkbox/index.js +3 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +1 -1
- 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 +0 -3
- 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_table/docs/_table_with_selectable_rows.html.erb +1 -0
- data/dist/chunks/_gauge-BUpiCaK5.js +1 -0
- data/dist/chunks/_typeahead-ITbXBlyi.js +6 -0
- data/dist/chunks/{_weekday_stacked-BNHSKTSw.js → _weekday_stacked-BIEMUAn8.js} +2 -2
- data/dist/chunks/{lib-DnQyMxO1.js → lib-AStGp3dD.js} +1 -1
- data/dist/chunks/{pb_form_validation-kl-4Jv4t.js → pb_form_validation-DF742j1h.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- 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 +1 -1
- metadata +11 -18
- 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_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_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/dist/chunks/_line_graph-BfCo79KE.js +0 -1
- data/dist/chunks/_typeahead-Db4YQA5c.js +0 -6
- /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_line_graph/docs/{_line_graph_colors_rails.md → _line_graph_colors.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
|
|
@@ -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
|
|
@@ -258,7 +256,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.Ref<unknown>
|
|
258
256
|
countrySearch: countrySearch,
|
259
257
|
fixDropdownWidth: false,
|
260
258
|
formatAsYouType: formatAsYouType,
|
261
|
-
strictMode: strictMode,
|
262
259
|
hiddenInput: hiddenInputs ? () => ({
|
263
260
|
phone: `${name}_full`,
|
264
261
|
country: `${name}_country_code`,
|
@@ -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
|
@@ -7,5 +7,4 @@ export { default as PhoneNumberInputValidation } from './_phone_number_input_val
|
|
7
7
|
export { default as PhoneNumberInputClearField } from './_phone_number_input_clear_field'
|
8
8
|
export { default as PhoneNumberInputAccessInputElement } from './_phone_number_input_access_input_element'
|
9
9
|
export { default as PhoneNumberInputFormat } from './_phone_number_input_format'
|
10
|
-
export { default as PhoneNumberInputStrictMode } from './_phone_number_input_strict_mode'
|
11
10
|
export { default as PhoneNumberInputCountrySearch } from './_phone_number_input_country_search'
|
@@ -25,8 +25,6 @@ module Playbook
|
|
25
25
|
default: ""
|
26
26
|
prop :format_as_you_type, type: Playbook::Props::Boolean,
|
27
27
|
default: false
|
28
|
-
prop :strict_mode, type: Playbook::Props::Boolean,
|
29
|
-
default: false
|
30
28
|
prop :hidden_inputs, type: Playbook::Props::Boolean,
|
31
29
|
default: false
|
32
30
|
prop :country_search, type: Playbook::Props::Boolean,
|
@@ -43,7 +41,6 @@ module Playbook
|
|
43
41
|
disabled: disabled,
|
44
42
|
error: error,
|
45
43
|
formatAsYouType: format_as_you_type,
|
46
|
-
strictMode: strict_mode,
|
47
44
|
hiddenInputs: hidden_inputs,
|
48
45
|
initialCountry: initial_country,
|
49
46
|
label: label,
|
@@ -0,0 +1 @@
|
|
1
|
+
import{jsx,Fragment,jsxs}from"react/jsx-runtime";import{useState,useEffect}from"react";import{b as buildAriaProps,a as buildDataProps,c as buildHtmlProps,m as mapColors,H as HighchartsReact,d as Highcharts,e as classnames,g as globalProps,f as HighchartsMore,S as SolidGauge,h as buildCss}from"./_typeahead-ITbXBlyi.js";import{h as highchartsTheme,m as merge,a as highchartsDarkTheme,t as typography,c as colors}from"./lib-AStGp3dD.js";const BarGraph=({aria:aria={},data:data={},align:align="center",axisTitle:axisTitle,dark:dark=false,chartData:chartData,className:className="pb_bar_graph",colors:colors2,htmlOptions:htmlOptions={},customOptions:customOptions={},axisFormat:axisFormat,id:id,pointStart:pointStart,stacking:stacking,subTitle:subTitle,type:type="column",title:title="Title",xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,legend:legend=false,toggleLegendClick:toggleLegendClick=true,height:height,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:[{labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat&&axisFormat[0]?axisFormat[0].format:""},min:yAxisMin,max:yAxisMax,opposite:false,title:{text:Array.isArray(axisTitle)?axisTitle.length>0?axisTitle[0].name:null:axisTitle},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]}],xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{stacking:stacking,pointStart:pointStart,borderWidth:stacking?0:"",events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(Array.isArray(axisTitle)&&axisTitle.length>1&&axisTitle[1].name){staticOptions.yAxis.push({labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat[1].format},min:yAxisMin,max:yAxisMax,opposite:true,title:{text:axisTitle[1].name},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]})}if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const alignBlockElement=event=>{const itemToMove=document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb-circle-chart-block`);const chartContainer=document.querySelector(`#${event.target.renderTo.id}`);if(itemToMove!==null&&chartContainer!==null){itemToMove.style.height=`${event.target.chartHeight}px`;itemToMove.style.width=`${event.target.chartWidth}px`;if(chartContainer.firstChild!==null){chartContainer.firstChild.before(itemToMove)}}};const CircleChart=({align:align="center",aria:aria={},rounded:rounded=false,borderColor:borderColor=(rounded?null:""),borderWidth:borderWidth=(rounded?20:null),chartData:chartData,children:children,className:className,colors:colors2=[],customOptions:customOptions={},dark:dark=false,data:data={},dataLabelHtml:dataLabelHtml="<div>{point.name}</div>",dataLabels:dataLabels=false,height:height,htmlOptions:htmlOptions={},id:id,innerSize:innerSize="md",legend:legend=false,maxPointSize:maxPointSize=null,minPointSize:minPointSize=null,startAngle:startAngle=null,style:style="pie",title:title,tooltipHtml:tooltipHtml,useHtml:useHtml=false,zMin:zMin=null,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{headerFormat:null,pointFormat:tooltipHtml?tooltipHtml:'<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',useHTML:useHtml}});const innerSizes={sm:"35%",md:"50%",lg:"85%",none:"0%"};const innerSizeFormat=size=>innerSizes[size];const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={title:{text:title},chart:{height:height,type:style,events:{render:event=>alignBlockElement(event),redraw:event=>alignBlockElement(event)}},legend:{align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},plotOptions:{pie:{colors:colors2.length>0?mapColors(colors2):highchartsTheme.colors,dataLabels:{enabled:dataLabels,connectorShape:"straight",connectorWidth:3,format:dataLabelHtml},showInLegend:legend}},series:[{minPointSize:minPointSize,maxPointSize:maxPointSize,innerSize:borderWidth==20?"100%":innerSizeFormat(innerSize),data:formattedChartData,zMin:zMin,startAngle:startAngle,borderWidth:borderWidth,borderColor:borderColor}],credits:false};setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(Fragment,{children:children?jsxs("div",{id:`wrapper-circle-chart-${id}`,children:[jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options}),jsx("div",{className:"pb-circle-chart-block",children:children})]}):jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})})};const Gauge=({aria:aria={},chartData:chartData,customOptions:customOptions={},dark:dark=false,data:data={},disableAnimation:disableAnimation=false,fullCircle:fullCircle=false,height:height=null,htmlOptions:htmlOptions={},id:id,max:max=100,min:min=0,prefix:prefix="",showLabels:showLabels=false,style:style="solidgauge",suffix:suffix="",title:title="",tooltipHtml:tooltipHtml='<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',colors:colors$1=[],minorTickInterval:minorTickInterval=null,circumference:circumference=(fullCircle?[0,360]:[-100,100]),...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);SolidGauge(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{pointFormat:tooltipHtml,followPointer:true}});const css=buildCss({pb_gauge_kit:true});const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={chart:{events:{load(){setTimeout(this.reflow.bind(this),0)}},type:style,height:height},title:{text:title},yAxis:{min:min,max:max,lineWidth:0,tickWidth:0,minorTickInterval:minorTickInterval,tickAmount:2,tickPositions:[min,max],labels:{y:26,enabled:showLabels}},credits:false,series:[{data:formattedChartData}],pane:{center:["50%","50%"],size:"90%",startAngle:circumference[0],endAngle:circumference[1],background:{borderWidth:20,innerRadius:"90%",outerRadius:"90%",shape:"arc",className:"gauge-pane"}},colors:colors$1!==void 0&&colors$1.length>0?mapColors(colors$1):highchartsTheme.colors,plotOptions:{series:{animation:!disableAnimation},solidgauge:{borderColor:colors$1!==void 0&&colors$1.length===1?mapColors(colors$1).join():highchartsTheme.colors[0],borderWidth:20,radius:90,innerRadius:"90%",dataLabels:{borderWidth:0,color:colors.text_lt_default,enabled:true,format:`<span class="prefix${dark?" dark":""}">${prefix}</span><span class="fix${dark?" dark":""}">{y:,f}</span><span class="suffix${dark?" dark":""}">${suffix}</span>`,style:{fontFamily:typography.font_family_base,fontWeight:typography.regular,fontSize:typography.heading_2},y:-26}}}};setOptions(merge(staticOptions,customOptions));if(document.querySelector(".prefix")){document.querySelectorAll(".prefix").forEach((prefix2=>{prefix2.setAttribute("y","28")}));document.querySelectorAll(".fix").forEach((fix=>fix.setAttribute("y","38")))}}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(css,globalProps(props)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};export{BarGraph as B,CircleChart as C,Gauge as G};
|