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.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +11 -32
  3. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +2 -2
  4. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -5
  5. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +0 -6
  6. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +0 -2
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +6 -11
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -2
  10. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -3
  11. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -5
  12. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -36
  13. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -11
  14. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -2
  15. data/app/pb_kits/playbook/pb_badge/_badge.scss +6 -5
  16. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +15 -33
  17. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +72 -0
  18. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +6 -0
  19. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +15 -33
  20. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +22 -52
  21. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +16 -12
  22. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +15 -31
  23. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +16 -39
  24. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +38 -86
  25. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
  26. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +15 -32
  27. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
  28. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
  29. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +22 -72
  30. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
  31. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +15 -31
  32. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +16 -37
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +3 -1
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
  36. data/app/pb_kits/playbook/pb_body/docs/_body_truncate.jsx +3 -3
  37. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +1 -36
  38. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +26 -71
  39. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +16 -29
  40. data/app/pb_kits/playbook/pb_circle_chart/docs/{_circle_chart_colors_rails.md → _circle_chart_colors.md} +1 -1
  41. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +16 -28
  42. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +2 -4
  43. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +15 -23
  44. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +51 -81
  45. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +75 -103
  46. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +7 -4
  47. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +13 -19
  48. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +38 -0
  49. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +1 -0
  50. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +17 -30
  51. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +20 -34
  52. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +20 -29
  53. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +20 -28
  54. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +1 -0
  55. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +1 -0
  56. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +4 -12
  57. data/app/pb_kits/playbook/pb_draggable/context/types.ts +2 -5
  58. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +15 -32
  59. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +9 -35
  60. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +14 -26
  61. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +15 -32
  62. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +17 -45
  63. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +22 -59
  64. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +9 -40
  65. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +18 -50
  66. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +30 -0
  67. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +1 -0
  68. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +18 -31
  69. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +17 -34
  70. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +23 -64
  71. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +1 -0
  72. data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
  73. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +1 -7
  74. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
  75. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +17 -36
  76. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +16 -31
  77. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +31 -63
  78. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +16 -35
  79. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +16 -41
  80. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +62 -107
  81. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +7 -4
  82. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +52 -0
  83. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +1 -0
  84. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +1 -0
  85. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
  86. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +1 -16
  87. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +17 -30
  88. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
  89. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
  90. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
  91. data/app/pb_kits/playbook/pb_title/docs/_title_truncate.jsx +3 -3
  92. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -1
  93. data/app/pb_kits/playbook/pb_tooltip/index.js +36 -59
  94. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -9
  95. data/dist/chunks/_typeahead-B7FRYVtS.js +22 -0
  96. data/dist/chunks/_weekday_stacked-BNSy7Mo2.js +45 -0
  97. data/dist/chunks/lib-Carqm8Ip.js +29 -0
  98. data/dist/chunks/{pb_form_validation-kl-4Jv4t.js → pb_form_validation-DqRmTS8m.js} +1 -1
  99. data/dist/chunks/vendor.js +1 -1
  100. data/dist/menu.yml +8 -68
  101. data/dist/playbook-doc.js +2 -2
  102. data/dist/playbook-rails-react-bindings.js +1 -1
  103. data/dist/playbook-rails.js +1 -1
  104. data/dist/playbook.css +1 -1
  105. data/lib/playbook/version.rb +2 -2
  106. metadata +24 -40
  107. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.jsx +0 -65
  108. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +0 -5
  109. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +0 -46
  110. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +0 -7
  111. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +0 -69
  112. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +0 -1
  113. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +0 -51
  114. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +0 -1
  115. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
  116. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
  117. data/app/pb_kits/playbook/pb_body/docs/_body_truncate_react.md +0 -4
  118. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
  119. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
  120. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
  121. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
  122. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
  123. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
  124. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
  125. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
  126. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +0 -10
  127. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +0 -26
  128. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +0 -3
  129. data/app/pb_kits/playbook/pb_title/docs/_title_truncate_react.md +0 -4
  130. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.html.erb +0 -14
  131. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open_rails.md +0 -1
  132. data/dist/chunks/_line_graph-BfCo79KE.js +0 -1
  133. data/dist/chunks/_typeahead-Db4YQA5c.js +0 -6
  134. data/dist/chunks/_weekday_stacked-DhFTG-Jt.js +0 -61
  135. data/dist/chunks/lib-DnQyMxO1.js +0 -29
  136. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling_react.md → _advanced_table_row_styling.md} +0 -0
  137. /data/app/pb_kits/playbook/pb_body/docs/{_body_truncate_rails.md → _body_truncate.md} +0 -0
  138. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors_rails.md → _gauge_colors.md} +0 -0
  139. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex_rails.md → _gauge_complex.md} +0 -0
  140. /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors_rails.md → _line_graph_colors.md} +0 -0
  141. /data/app/pb_kits/playbook/pb_title/docs/{_title_truncate_rails.md → _title_truncate.md} +0 -0
  142. /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 lineGraphTheme from '../lineGraphTheme'
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 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
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 lineGraphTheme from '../lineGraphTheme'
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 categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']
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
- 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
24
+ export default LineGraphLegend
@@ -1,49 +1,24 @@
1
1
  import React from 'react'
2
- import lineGraphTheme from '../lineGraphTheme'
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 categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']
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
- const chartOptions = {
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 lineGraphTheme from '../lineGraphTheme'
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 categories = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']
25
-
26
- const LineGraphLegendPosition = (props) => {
27
- const chartOptionsFirst = {
28
- title: { text: "Alignment of Legend" },
29
- series: data,
30
- xAxis: {
31
- categories: categories,
32
- },
33
- yAxis: {
34
- min: 0,
35
- title: {
36
- text: "Number of Employees",
37
- },
38
- },
39
- legend: {
40
- enabled: true,
41
- align: 'right',
42
- verticalAlign: 'top'
43
- },
44
- }
45
-
46
- const chartOptionsSecond = {
47
- title: { text: "Layout of Legend" },
48
- series: data,
49
- xAxis: {
50
- categories: categories,
51
- },
52
- yAxis: {
53
- min: 0,
54
- title: {
55
- text: "Number of Employees",
56
- },
57
- },
58
- legend: {
59
- enabled: true,
60
- layout: 'vertical'
61
- },
62
- }
63
-
64
- const chartOptionsThird = {
65
- title: { text: "Offset of Legend" },
66
- series: data,
67
- xAxis: {
68
- categories: categories,
69
- },
70
- yAxis: {
71
- min: 0,
72
- title: {
73
- text: "Number of Employees",
74
- },
75
- },
76
- legend: {
77
- enabled: true,
78
- layout: 'vertical',
79
- x: 100,
80
- y: 10
81
- },
82
- }
83
-
84
- const optionsFirst = Highcharts.merge({}, lineGraphTheme, chartOptionsFirst)
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 to bottom)
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
- `layout` determines the position of the legend items
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 alignment. Negative x moves it to the left, positive x moves it to the right
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 alignment. Negative y moves it up, positive y moves it down.
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.
@@ -11,6 +11,7 @@ examples:
11
11
 
12
12
  react:
13
13
  - line_graph_default: Default
14
+ - line_graph_pb_styles: Playbook Styles
14
15
  - line_graph_legend: Legend
15
16
  - line_graph_legend_position: Legend Position
16
17
  - line_graph_legend_nonclickable: Legend Nonclickable
@@ -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.Ref<unknown>) => {
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 | null>(null)
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 ((error ?? '').length > 0) {
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
- if (inputRef.current) {
271
- inputRef.current.addEventListener("countrychange", (evt: Event) => {
272
- const phoneNumberData = getCurrentSelectedData(telInputInit, (evt.target as HTMLInputElement).value)
273
- setSelectedData(phoneNumberData)
274
- onChange(phoneNumberData)
275
- validateErrors()
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={inputNode => {
316
- if (ref) {
317
- if (typeof ref === 'function') {
318
- ref(inputNode)
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
- inputRef.current = inputNode
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