playbook_ui 14.22.0 → 14.23.0.pre.alpha.PLAY2121enableexpandedfield9199

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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +32 -11
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableActionBar.tsx +10 -10
  5. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +0 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +3 -3
  7. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +58 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +15 -6
  9. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +14 -2
  11. data/app/pb_kits/playbook/pb_advanced_table/advanced_table_action_bar.js +16 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.jsx +65 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +5 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +46 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +7 -0
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +69 -0
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +1 -0
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.jsx +107 -0
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.md +1 -0
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +51 -0
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +1 -0
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +14 -8
  23. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +3 -0
  24. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +7 -1
  25. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +3 -1
  26. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +5 -1
  27. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +36 -0
  28. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +11 -2
  29. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +2 -0
  30. data/app/pb_kits/playbook/pb_badge/_badge.scss +5 -6
  31. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +106 -0
  32. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +33 -15
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +33 -15
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +52 -22
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +3 -0
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +12 -16
  37. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +31 -15
  38. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +39 -16
  39. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +86 -38
  40. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
  41. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +32 -15
  42. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +72 -22
  43. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
  44. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +31 -15
  45. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +37 -16
  46. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +1 -3
  47. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -3
  48. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -2
  49. data/app/pb_kits/playbook/pb_body/docs/_body_truncate.jsx +3 -3
  50. data/app/pb_kits/playbook/pb_body/docs/_body_truncate_react.md +4 -0
  51. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +12 -1
  52. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +1 -1
  53. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_rails.md +2 -1
  54. data/app/pb_kits/playbook/pb_checkbox/index.js +3 -1
  55. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +36 -1
  56. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +71 -26
  57. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +29 -16
  58. data/app/pb_kits/playbook/pb_circle_chart/docs/{_circle_chart_colors.md → _circle_chart_colors_rails.md} +1 -1
  59. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +2 -0
  60. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +28 -16
  61. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +4 -2
  62. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +23 -15
  63. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +81 -51
  64. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +103 -75
  65. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +4 -7
  66. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +19 -13
  67. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +30 -17
  68. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +34 -20
  69. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +29 -20
  70. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +28 -20
  71. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +1 -0
  72. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +0 -1
  73. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +0 -1
  74. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +12 -4
  75. data/app/pb_kits/playbook/pb_draggable/context/types.ts +5 -2
  76. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +17 -1
  77. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +6 -0
  78. data/app/pb_kits/playbook/pb_dropdown/_dropdown_mixin.scss +36 -0
  79. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options.jsx +90 -0
  80. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +4 -0
  81. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +1 -0
  82. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +1 -1
  83. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +3 -2
  84. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +2 -1
  85. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +24 -0
  86. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +11 -1
  87. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +1 -0
  88. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +32 -15
  89. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +2 -0
  90. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +35 -9
  91. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +1 -0
  92. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +26 -14
  93. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +32 -15
  94. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +45 -17
  95. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +59 -22
  96. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -9
  97. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +50 -18
  98. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +31 -18
  99. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +34 -17
  100. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +64 -23
  101. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +1 -0
  102. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -1
  103. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -1
  104. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +7 -1
  105. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +1 -3
  106. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +36 -17
  107. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +3 -0
  108. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +31 -16
  109. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +63 -31
  110. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +3 -0
  111. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +35 -16
  112. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +41 -16
  113. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +107 -62
  114. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +4 -7
  115. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -1
  116. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -1
  117. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +16 -1
  118. data/app/pb_kits/playbook/pb_multi_level_select/_helper_functions.tsx +18 -9
  119. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +3 -1
  120. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_show_checked_children.html.erb +75 -0
  121. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_show_checked_children.jsx +94 -0
  122. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_show_checked_children.md +3 -0
  123. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +2 -0
  124. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +2 -1
  125. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +3 -0
  126. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +4 -0
  127. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_rails.md +3 -1
  128. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_react.md +3 -1
  129. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +30 -17
  130. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +10 -0
  131. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +26 -0
  132. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +3 -0
  133. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
  134. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
  135. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +3 -0
  136. data/app/pb_kits/playbook/pb_select/select.rb +4 -2
  137. data/app/pb_kits/playbook/pb_table/_table.tsx +4 -4
  138. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.jsx +8 -8
  139. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_react.md +1 -1
  140. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.jsx +12 -12
  141. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_react.md +3 -3
  142. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.jsx +12 -12
  143. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_react.md +3 -3
  144. data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +1 -0
  145. data/app/pb_kits/playbook/pb_title/docs/_title_truncate.jsx +3 -3
  146. data/app/pb_kits/playbook/pb_title/docs/_title_truncate_react.md +4 -0
  147. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.html.erb +14 -0
  148. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open_rails.md +1 -0
  149. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +1 -0
  150. data/app/pb_kits/playbook/pb_tooltip/index.js +59 -36
  151. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +9 -2
  152. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.html.erb +18 -0
  153. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_rails.md +1 -0
  154. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
  155. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -0
  156. data/dist/chunks/_line_graph-Bz5CsVqz.js +1 -0
  157. data/dist/chunks/_typeahead-DuoHs8Ye.js +6 -0
  158. data/dist/chunks/_weekday_stacked-0GMpKTN_.js +37 -0
  159. data/dist/chunks/lib-DnQyMxO1.js +29 -0
  160. data/dist/chunks/{pb_form_validation-Dx1C9XCK.js → pb_form_validation-kl-4Jv4t.js} +1 -1
  161. data/dist/chunks/vendor.js +1 -1
  162. data/dist/menu.yml +68 -15
  163. data/dist/playbook-doc.js +2 -2
  164. data/dist/playbook-rails-react-bindings.js +1 -1
  165. data/dist/playbook-rails.js +1 -1
  166. data/dist/playbook.css +1 -1
  167. data/lib/playbook/version.rb +2 -2
  168. metadata +51 -36
  169. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +0 -72
  170. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +0 -6
  171. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +0 -64
  172. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +0 -1
  173. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +0 -38
  174. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +0 -1
  175. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +0 -30
  176. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +0 -1
  177. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +0 -52
  178. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +0 -1
  179. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.scss +0 -0
  180. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +0 -202
  181. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +0 -69
  182. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +0 -71
  183. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +0 -110
  184. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +0 -76
  185. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +0 -76
  186. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +0 -76
  187. data/app/pb_kits/playbook/pb_walkthrough/docs/example.yml +0 -10
  188. data/app/pb_kits/playbook/pb_walkthrough/docs/index.js +0 -6
  189. data/app/pb_kits/playbook/pb_walkthrough/walkthrough.test.jsx +0 -34
  190. data/dist/chunks/_typeahead-dOC1gq2X.js +0 -22
  191. data/dist/chunks/_weekday_stacked-Bh8iY5uA.js +0 -45
  192. data/dist/chunks/lib-DtCftrUN.js +0 -29
  193. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling.md → _advanced_table_row_styling_react.md} +0 -0
  194. /data/app/pb_kits/playbook/pb_body/docs/{_body_truncate.md → _body_truncate_rails.md} +0 -0
  195. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors.md → _gauge_colors_rails.md} +0 -0
  196. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex.md → _gauge_complex_rails.md} +0 -0
  197. /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors.md → _line_graph_colors_rails.md} +0 -0
  198. /data/app/pb_kits/playbook/pb_title/docs/{_title_truncate.md → _title_truncate_rails.md} +0 -0
  199. /data/app/pb_kits/playbook/pb_tooltip/docs/{_tooltip_click_open.md → _tooltip_click_open_react.md} +0 -0
  200. /data/app/pb_kits/playbook/pb_typeahead/docs/{_typeahead_preserve_input.md → _typeahead_preserve_input_react.md} +0 -0
@@ -1,5 +1,7 @@
1
1
  import React from 'react'
2
- import LineGraph from '../../pb_line_graph/_line_graph'
2
+ import lineGraphTheme from '../lineGraphTheme'
3
+ import Highcharts from "highcharts"
4
+ import HighchartsReact from "highcharts-react-official"
3
5
  import Title from '../../pb_title/_title'
4
6
 
5
7
  const data = [{
@@ -19,66 +21,109 @@ const data = [{
19
21
  data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111],
20
22
  }]
21
23
 
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
- )
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
+ }
83
128
 
84
129
  export default LineGraphLegendPosition
@@ -1,17 +1,14 @@
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 middle)
4
+ `verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults to bottom)
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
- -
10
-
11
- - `layout` determines the position of the legend items
9
+ `layout` determines the position of the legend items
12
10
  `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.
13
11
 
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
-
12
+ `x` offsets the legend relative to its horizontal alignment. Negative x moves it to the left, positive x moves it to the right
16
13
 
17
- - `y` offsets the legend relative to its vertical alignmnet. Negative y moves it up, positive y moves it down.
14
+ `y` offsets the legend relative to its vertical alignment. Negative y moves it up, positive y moves it down.
@@ -11,7 +11,6 @@ examples:
11
11
 
12
12
  react:
13
13
  - line_graph_default: Default
14
- - line_graph_pb_styles: Playbook Styles
15
14
  - line_graph_legend: Legend
16
15
  - line_graph_legend_position: Legend Position
17
16
  - line_graph_legend_nonclickable: Legend Nonclickable
@@ -4,4 +4,3 @@ 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,7 +50,21 @@ const lineGraphTheme = {
50
50
  },
51
51
  },
52
52
  credits: { enabled: false },
53
- legend: { 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
+ },
54
68
  colors: [
55
69
  colors.data_1,
56
70
  colors.data_2,
@@ -88,6 +102,7 @@ const lineGraphTheme = {
88
102
  minorGridLineColor: colors.border_light,
89
103
  lineWidth: 0,
90
104
  tickWidth: 0,
105
+ tickPixelInterval: 50,
91
106
  labels: {
92
107
  style: {
93
108
  fontFamily: typography.font_family_base,
@@ -143,7 +143,8 @@ export const recursiveCheckParent = (
143
143
 
144
144
  export const getExpandedItems = (
145
145
  treeData: { [key: string]: string }[],
146
- selectedIds: string[]
146
+ selectedIds: string[],
147
+ showCheckedChildren
147
148
  ): any[] => {
148
149
  const expandedItems: any[] = [];
149
150
 
@@ -152,19 +153,27 @@ export const getExpandedItems = (
152
153
  const item = items[i];
153
154
  const itemAncestors = [...ancestors, item];
154
155
 
156
+ // If "expanded: true", expand items
155
157
  if (item.expanded) {
156
158
  expandedItems.push(item.id);
157
159
  }
158
- if (selectedIds && selectedIds.length && selectedIds.includes(item.id)) {
159
- expandedItems.push(...itemAncestors.map((ancestor) => ancestor.id));
160
- }
161
- if (Array.isArray(item.children)) {
162
- const hasCheckedChildren = item.children.some(
163
- (child: { [key: string]: string }) => child.checked
164
- );
165
- if (hasCheckedChildren) {
160
+
161
+ // Only expand based on selected items if showCheckedChildren is true
162
+ if (showCheckedChildren) {
163
+ if (selectedIds && selectedIds.length && selectedIds.includes(item.id)) {
166
164
  expandedItems.push(...itemAncestors.map((ancestor) => ancestor.id));
167
165
  }
166
+ if (Array.isArray(item.children)) {
167
+ const hasCheckedChildren = item.children.some(
168
+ (child: { [key: string]: string }) => child.checked
169
+ );
170
+ if (hasCheckedChildren) {
171
+ expandedItems.push(...itemAncestors.map((ancestor) => ancestor.id));
172
+ }
173
+ }
174
+ }
175
+
176
+ if (Array.isArray(item.children)) {
168
177
  traverse(item.children, itemAncestors);
169
178
  }
170
179
  }
@@ -47,6 +47,7 @@ type MultiLevelSelectProps = {
47
47
  name?: string
48
48
  required?: boolean
49
49
  returnAllSelected?: boolean
50
+ showCheckedChildren?: boolean
50
51
  treeData?: { [key: string]: string; }[] | any
51
52
  onChange?: (event: { target: { name?: string; value: any } }) => void
52
53
  onSelect?: (prop: { [key: string]: any }) => void
@@ -71,6 +72,7 @@ const MultiLevelSelect = forwardRef<HTMLInputElement, MultiLevelSelectProps>((pr
71
72
  label,
72
73
  required = false,
73
74
  returnAllSelected = false,
75
+ showCheckedChildren = true,
74
76
  treeData,
75
77
  onChange = () => null,
76
78
  onSelect = () => null,
@@ -104,7 +106,7 @@ const MultiLevelSelect = forwardRef<HTMLInputElement, MultiLevelSelectProps>((pr
104
106
  // State for default return
105
107
  const [defaultReturn, setDefaultReturn] = useState([]);
106
108
  // Get expanded items from treeData
107
- const initialExpandedItems = getExpandedItems(treeData, selectedIds);
109
+ const initialExpandedItems = getExpandedItems(treeData, selectedIds, showCheckedChildren);
108
110
  // Initialize state with expanded items
109
111
  const [expanded, setExpanded] = useState(initialExpandedItems);
110
112
 
@@ -0,0 +1,75 @@
1
+ <% treeData = [{
2
+ label: "Power Home Remodeling",
3
+ value: "powerHomeRemodeling",
4
+ id: "100",
5
+ expanded: true,
6
+ children: [
7
+ {
8
+ label: "People",
9
+ value: "people",
10
+ id: "101",
11
+ children: [
12
+ {
13
+ label: "Talent Acquisition",
14
+ value: "talentAcquisition",
15
+ id: "102",
16
+ },
17
+ {
18
+ label: "Business Affairs",
19
+ value: "businessAffairs",
20
+ id: "103",
21
+ children: [
22
+ {
23
+ label: "Initiatives",
24
+ value: "initiatives",
25
+ id: "104",
26
+ },
27
+ {
28
+ label: "Learning & Development",
29
+ value: "learningAndDevelopment",
30
+ id: "105",
31
+ },
32
+ ],
33
+ },
34
+ {
35
+ label: "People Experience",
36
+ value: "peopleExperience",
37
+ id: "106",
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ label: "Contact Center",
43
+ value: "contactCenter",
44
+ id: "107",
45
+ children: [
46
+ {
47
+ label: "Appointment Management",
48
+ value: "appointmentManagement",
49
+ id: "108",
50
+ },
51
+ {
52
+ label: "Customer Service",
53
+ value: "customerService",
54
+ id: "109",
55
+ },
56
+ {
57
+ label: "Energy",
58
+ value: "energy",
59
+ id: "110",
60
+ },
61
+ ],
62
+ },
63
+ ],
64
+ }] %>
65
+
66
+ <% # Pre-selected node IDs to demonstrate the functionality %>
67
+ <% preSelectedIds = ["102", "104", "109"] %>
68
+
69
+ <%= pb_rails("multi_level_select", props: {
70
+ id: "multi-level-select-show-checked-children-rails",
71
+ name: "my_array",
72
+ tree_data: treeData,
73
+ selected_ids: preSelectedIds,
74
+ show_checked_children: false
75
+ }) %>
@@ -0,0 +1,94 @@
1
+ import React from "react";
2
+ import MultiLevelSelect from "../_multi_level_select";
3
+
4
+ const treeData = [
5
+ {
6
+ label: "Power Home Remodeling",
7
+ value: "powerHomeRemodeling",
8
+ id: "powerhome1",
9
+ expanded: true,
10
+ children: [
11
+ {
12
+ label: "People",
13
+ value: "people",
14
+ id: "people1",
15
+ children: [
16
+ {
17
+ label: "Talent Acquisition",
18
+ value: "talentAcquisition",
19
+ id: "talent1",
20
+ },
21
+ {
22
+ label: "Business Affairs",
23
+ value: "businessAffairs",
24
+ id: "business1",
25
+ children: [
26
+ {
27
+ label: "Initiatives",
28
+ value: "initiatives",
29
+ id: "initiative1",
30
+ },
31
+ {
32
+ label: "Learning & Development",
33
+ value: "learningAndDevelopment",
34
+ id: "development1",
35
+ },
36
+ ],
37
+ },
38
+ {
39
+ label: "People Experience",
40
+ value: "peopleExperience",
41
+ id: "experience1",
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ label: "Contact Center",
47
+ value: "contactCenter",
48
+ id: "contact1",
49
+ children: [
50
+ {
51
+ label: "Appointment Management",
52
+ value: "appointmentManagement",
53
+ id: "appointment1",
54
+ },
55
+ {
56
+ label: "Customer Service",
57
+ value: "customerService",
58
+ id: "customer1",
59
+ },
60
+ {
61
+ label: "Energy",
62
+ value: "energy",
63
+ id: "energy1",
64
+ },
65
+ ],
66
+ },
67
+ ],
68
+ },
69
+ ];
70
+
71
+ // Pre-selected node IDs to demonstrate the functionality
72
+ const preSelectedIds = ["talent1", "initiative1", "customer1"];
73
+
74
+ const MultiLevelSelectShowCheckedChildren = (props) => {
75
+ return (
76
+ <div>
77
+ <MultiLevelSelect
78
+ id='multiselect-checked-children'
79
+ onSelect={(selectedNodes) =>
80
+ console.log(
81
+ "Selected Items",
82
+ selectedNodes
83
+ )
84
+ }
85
+ selectedIds={preSelectedIds}
86
+ showCheckedChildren={false}
87
+ treeData={treeData}
88
+ {...props}
89
+ />
90
+ </div>
91
+ )
92
+ };
93
+
94
+ export default MultiLevelSelectShowCheckedChildren;
@@ -0,0 +1,3 @@
1
+ If you wish to control the auto-expansion of nodes with descendants in your multi-level select, you can utilize `showCheckedChildren/show_checked_children`. This prop (set to 'true' by default) controls whether items will be expanded when opening the select, regardless of if there are any items currently selected.
2
+
3
+ The prop will still honor any `expanded` attribute set up within your tree data.
@@ -15,6 +15,7 @@ examples:
15
15
  - multi_level_select_disabled_options: Disabled Options (Return All Selected)
16
16
  - multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
17
17
  - multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
18
+ - multi_level_select_show_checked_children: Show Expanded Items
18
19
 
19
20
  react:
20
21
  - multi_level_select_default: Default
@@ -33,3 +34,4 @@ examples:
33
34
  - multi_level_select_disabled_options: Disabled Options (Return All Selected)
34
35
  - multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
35
36
  - multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
37
+ - multi_level_select_show_checked_children: Show Expanded Items
@@ -13,4 +13,5 @@ export { default as MultiLevelSelectDisabledOptions } from './_multi_level_selec
13
13
  export { default as MultiLevelSelectDisabledOptionsParent } from './_multi_level_select_disabled_options_parent.jsx'
14
14
  export { default as MultiLevelSelectDisabledOptionsParentDefault } from './_multi_level_select_disabled_options_parent_default.jsx'
15
15
  export { default as MultiLevelSelectDisabledOptionsDefault } from './_multi_level_select_disabled_options_default.jsx'
16
- export { default as MultiLevelSelectLabel } from './_multi_level_select_label.jsx'
16
+ export { default as MultiLevelSelectLabel } from './_multi_level_select_label.jsx'
17
+ export { default as MultiLevelSelectShowCheckedChildren } from './_multi_level_select_show_checked_children.jsx'
@@ -32,6 +32,8 @@ module Playbook
32
32
  default: ""
33
33
  prop :label, type: Playbook::Props::String,
34
34
  default: ""
35
+ prop :show_checked_children, type: Playbook::Props::Boolean,
36
+ default: true
35
37
 
36
38
  def classname
37
39
  generate_classname("pb_multi_level_select")
@@ -54,6 +56,7 @@ module Playbook
54
56
  variant: variant,
55
57
  pillColor: pill_color,
56
58
  wrapped: wrapped,
59
+ showCheckedChildren: show_checked_children,
57
60
  }
58
61
  end
59
62
  end
@@ -134,6 +134,10 @@ const Pagination = ( props: PaginationProps) => {
134
134
  className
135
135
  )
136
136
 
137
+ if (total <= 1) {
138
+ return null;
139
+ }
140
+
137
141
  return (
138
142
  <div
139
143
  {...ariaProps}
@@ -3,4 +3,6 @@ Our Pagination kit depends on the <a href="https://github.com/mislav/will_pagina
3
3
 
4
4
  Once you have perfomed the paginated query in your controller file you can use our kit (see code example below) instead of `<%= will_paginate @users %>` in your view file.
5
5
 
6
- You need to add: <code>require "playbook/pagination_renderer"</code> in your apps controller file.
6
+ You need to add: <code>require "playbook/pagination_renderer"</code> in your apps controller file.
7
+
8
+ Note: If the total page count is 0 or 1, the Pagination kit will not be displayed as there aren't multiple pages to navigate.
@@ -1 +1,3 @@
1
- The `range` prop determines how many pages to display in the Pagination component. Regardless of this value, the first two and last two pages are always visible to facilitate navigation to the beginning and end of the pagination. If these always-visible pages fall within the specified range, they are included in the display. If they fall outside the range, the pagination will show additional pages up to the number defined by the `range` prop.
1
+ The `range` prop determines how many pages to display in the Pagination component. Regardless of this value, the first two and last two pages are always visible to facilitate navigation to the beginning and end of the pagination. If these always-visible pages fall within the specified range, they are included in the display. If they fall outside the range, the pagination will show additional pages up to the number defined by the `range` prop.
2
+
3
+ Note: If the `total` pages prop is 0 or 1, the Pagination component will not be displayed, as there aren't multiple pages to navigate.