playbook_ui 14.23.0.pre.alpha.play23129273 → 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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +6 -7
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +25 -24
  5. data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +11 -32
  6. data/app/pb_kits/playbook/pb_advanced_table/Components/TableActionBar.tsx +10 -10
  7. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +12 -11
  8. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +5 -8
  9. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +1 -67
  11. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +7 -19
  12. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +2 -14
  14. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +0 -34
  15. data/app/pb_kits/playbook/pb_advanced_table/advanced_table_action_bar.js +0 -16
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +6 -14
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -5
  18. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +1 -7
  19. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +1 -3
  20. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -5
  21. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -36
  22. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +4 -13
  23. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +0 -2
  24. data/app/pb_kits/playbook/pb_badge/_badge.scss +6 -5
  25. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +15 -33
  26. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.jsx +72 -0
  27. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +6 -0
  28. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +15 -33
  29. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +22 -52
  30. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +16 -12
  31. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +15 -31
  32. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +16 -39
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +38 -86
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +15 -32
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
  37. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
  38. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +22 -72
  39. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +1 -1
  40. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +15 -31
  41. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +16 -37
  42. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
  43. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +3 -1
  44. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
  45. data/app/pb_kits/playbook/pb_body/docs/_body_truncate.jsx +3 -3
  46. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -12
  47. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +1 -1
  48. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_rails.md +1 -2
  49. data/app/pb_kits/playbook/pb_checkbox/index.js +1 -3
  50. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +1 -36
  51. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +26 -71
  52. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +16 -29
  53. data/app/pb_kits/playbook/pb_circle_chart/docs/{_circle_chart_colors_rails.md → _circle_chart_colors.md} +1 -1
  54. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +16 -28
  55. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +2 -4
  56. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +15 -23
  57. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +51 -81
  58. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +75 -103
  59. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +7 -4
  60. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +13 -19
  61. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +38 -0
  62. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +1 -0
  63. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +17 -30
  64. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +20 -34
  65. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +20 -29
  66. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +20 -28
  67. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +1 -0
  68. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +1 -0
  69. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +4 -12
  70. data/app/pb_kits/playbook/pb_draggable/context/types.ts +2 -5
  71. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -17
  72. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +0 -6
  73. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +0 -1
  74. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +1 -1
  75. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +2 -3
  76. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -2
  77. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +0 -24
  78. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +1 -11
  79. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +15 -32
  80. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +9 -35
  81. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +14 -26
  82. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +15 -32
  83. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +17 -45
  84. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +22 -59
  85. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +9 -40
  86. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +18 -50
  87. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +30 -0
  88. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +1 -0
  89. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +18 -31
  90. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +17 -34
  91. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +23 -64
  92. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +1 -0
  93. data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
  94. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +1 -7
  95. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
  96. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +17 -36
  97. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +16 -31
  98. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +31 -63
  99. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +16 -35
  100. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +16 -41
  101. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +62 -107
  102. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +7 -4
  103. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +52 -0
  104. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +1 -0
  105. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +1 -0
  106. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
  107. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +1 -16
  108. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +0 -4
  109. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_rails.md +1 -3
  110. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_react.md +1 -3
  111. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +17 -30
  112. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
  113. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
  114. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
  115. data/app/pb_kits/playbook/pb_select/select.rb +2 -4
  116. data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +0 -1
  117. data/app/pb_kits/playbook/pb_title/docs/_title_truncate.jsx +3 -3
  118. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -1
  119. data/app/pb_kits/playbook/pb_tooltip/index.js +36 -59
  120. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -9
  121. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.scss +0 -0
  122. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +202 -0
  123. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +69 -0
  124. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +71 -0
  125. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +110 -0
  126. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +76 -0
  127. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +76 -0
  128. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +76 -0
  129. data/app/pb_kits/playbook/pb_walkthrough/docs/example.yml +10 -0
  130. data/app/pb_kits/playbook/pb_walkthrough/docs/index.js +6 -0
  131. data/app/pb_kits/playbook/pb_walkthrough/walkthrough.test.jsx +34 -0
  132. data/dist/chunks/_typeahead-B7FRYVtS.js +22 -0
  133. data/dist/chunks/_weekday_stacked-BNSy7Mo2.js +45 -0
  134. data/dist/chunks/lib-Carqm8Ip.js +29 -0
  135. data/dist/chunks/{pb_form_validation-D3b0JKHH.js → pb_form_validation-DqRmTS8m.js} +1 -1
  136. data/dist/chunks/vendor.js +1 -1
  137. data/dist/menu.yml +15 -68
  138. data/dist/playbook-doc.js +2 -2
  139. data/dist/playbook-rails-react-bindings.js +1 -1
  140. data/dist/playbook-rails.js +1 -1
  141. data/dist/playbook.css +1 -1
  142. data/lib/playbook/version.rb +2 -2
  143. metadata +35 -49
  144. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.jsx +0 -65
  145. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_sort.md +0 -5
  146. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +0 -46
  147. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +0 -7
  148. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column.jsx +0 -55
  149. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column.md +0 -6
  150. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column_for_multi_column.jsx +0 -80
  151. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column_for_multi_column.md +0 -1
  152. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.jsx +0 -69
  153. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +0 -1
  154. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.jsx +0 -107
  155. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.md +0 -1
  156. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +0 -51
  157. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +0 -1
  158. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
  159. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
  160. data/app/pb_kits/playbook/pb_body/docs/_body_truncate_react.md +0 -4
  161. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
  162. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
  163. data/app/pb_kits/playbook/pb_dropdown/_dropdown_mixin.scss +0 -36
  164. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options.jsx +0 -90
  165. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +0 -4
  166. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
  167. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
  168. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
  169. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
  170. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
  171. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
  172. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +0 -10
  173. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +0 -26
  174. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +0 -3
  175. data/app/pb_kits/playbook/pb_title/docs/_title_truncate_react.md +0 -4
  176. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.html.erb +0 -14
  177. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open_rails.md +0 -1
  178. data/dist/chunks/_line_graph-BNbgv7cZ.js +0 -1
  179. data/dist/chunks/_typeahead-BjxzQL_-.js +0 -6
  180. data/dist/chunks/_weekday_stacked-DA1-B51Z.js +0 -37
  181. data/dist/chunks/lib-CY5ZPzic.js +0 -29
  182. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling_react.md → _advanced_table_row_styling.md} +0 -0
  183. /data/app/pb_kits/playbook/pb_body/docs/{_body_truncate_rails.md → _body_truncate.md} +0 -0
  184. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors_rails.md → _gauge_colors.md} +0 -0
  185. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex_rails.md → _gauge_complex.md} +0 -0
  186. /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors_rails.md → _line_graph_colors.md} +0 -0
  187. /data/app/pb_kits/playbook/pb_title/docs/{_title_truncate_rails.md → _title_truncate.md} +0 -0
  188. /data/app/pb_kits/playbook/pb_tooltip/docs/{_tooltip_click_open_react.md → _tooltip_click_open.md} +0 -0
@@ -1,61 +1,47 @@
1
1
  import React from 'react'
2
- import circleChartTheme from '../circleChartTheme'
3
- import Highcharts from "highcharts"
4
- import HighchartsReact from "highcharts-react-official"
2
+
3
+ import CircleChart from '../_circle_chart'
5
4
 
6
5
  const dataWithLabels = [
7
6
  {
8
7
  name: 'Facebook',
9
- y: 2498,
8
+ value: 2498,
10
9
  },
11
10
  {
12
11
  name: 'YouTube',
13
- y: 2000,
12
+ value: 2000,
14
13
  },
15
14
  {
16
15
  name: 'WhatsApp',
17
- y: 2000,
16
+ value: 2000,
18
17
  },
19
18
  {
20
19
  name: 'Facebook Messenger',
21
- y: 1300,
20
+ value: 1300,
22
21
  },
23
22
  {
24
23
  name: 'WeChat',
25
- y: 1165,
24
+ value: 1165,
26
25
  },
27
26
  {
28
27
  name: 'Instagram',
29
- y: 1000,
28
+ value: 1000,
30
29
  },
31
30
  {
32
31
  name: 'Tik Tok',
33
- y: 800,
32
+ value: 800,
34
33
  },
35
34
  ]
36
35
 
37
- const CircleChartWithLabels = () => {
38
- const chartOptions = {
39
- series: [{ data: dataWithLabels }],
40
- plotOptions: {
41
- pie: {
42
- dataLabels: {
43
- enabled: true,
44
- }
45
- }
46
- }
47
- }
48
-
49
- const options = Highcharts.merge({}, circleChartTheme, chartOptions)
50
-
51
- return (
52
- <div>
53
- <HighchartsReact
54
- highcharts={Highcharts}
55
- options={options}
56
- />
57
- </div>
58
- )
59
- }
36
+ const CircleChartWithLabels = (props) => (
37
+ <div>
38
+ <CircleChart
39
+ chartData={dataWithLabels}
40
+ dataLabels
41
+ id="with-labels-example"
42
+ {...props}
43
+ />
44
+ </div>
45
+ )
60
46
 
61
- export default CircleChartWithLabels
47
+ export default CircleChartWithLabels
@@ -1,41 +1,32 @@
1
1
  import React from 'react'
2
- import circleChartTheme from '../circleChartTheme'
3
- import Highcharts from "highcharts"
4
- import HighchartsReact from "highcharts-react-official"
2
+
3
+ import CircleChart from '../_circle_chart'
5
4
 
6
5
  const dataWithLegend = [{
7
6
  name: 'Bugs',
8
- y: 8,
7
+ value: 8,
8
+
9
9
  },
10
10
  {
11
11
  name: 'Chores',
12
- y: 1,
12
+ value: 1,
13
+
13
14
  },
14
15
  {
15
16
  name: 'Stories',
16
- y: 12,
17
- }]
18
-
19
- const CircleChartWithLegendKit = () => {
20
- const chartOptions = {
21
- series: [{ data: dataWithLegend }],
22
- plotOptions: {
23
- pie: {
24
- showInLegend: true
25
- }
26
- }
27
- }
28
-
29
- const options = Highcharts.merge({}, circleChartTheme, chartOptions)
17
+ value: 12,
18
+ },
19
+ ]
30
20
 
31
- return (
32
- <div>
33
- <HighchartsReact
34
- highcharts={Highcharts}
35
- options={options}
36
- />
37
- </div>
38
- )
39
- }
21
+ const CircleChartWithLegendKit = (props) => (
22
+ <div>
23
+ <CircleChart
24
+ chartData={dataWithLegend}
25
+ id="with-legend-example"
26
+ legend
27
+ {...props}
28
+ />
29
+ </div>
30
+ )
40
31
 
41
- export default CircleChartWithLegendKit
32
+ export default CircleChartWithLegendKit
@@ -1,55 +1,47 @@
1
1
  import React from 'react'
2
- import circleChartTheme from '../circleChartTheme'
3
- import Highcharts from "highcharts"
4
- import HighchartsReact from "highcharts-react-official"
2
+
3
+ import CircleChart from '../_circle_chart'
5
4
 
6
5
  const dataWithTitle = [
7
6
  {
8
7
  name: 'Facebook',
9
- y: 2498,
8
+ value: 2498,
10
9
  },
11
10
  {
12
11
  name: 'YouTube',
13
- y: 2000,
12
+ value: 2000,
14
13
  },
15
14
  {
16
15
  name: 'WhatsApp',
17
- y: 2000,
16
+ value: 2000,
18
17
  },
19
18
  {
20
19
  name: 'Facebook Messenger',
21
- y: 1300,
20
+ value: 1300,
22
21
  },
23
22
  {
24
23
  name: 'WeChat',
25
- y: 1165,
24
+ value: 1165,
26
25
  },
27
26
  {
28
27
  name: 'Instagram',
29
- y: 1000,
28
+ value: 1000,
30
29
  },
31
30
  {
32
31
  name: 'Tik Tok',
33
- y: 800,
32
+ value: 800,
34
33
  },
35
34
  ]
36
35
 
37
- const CircleChartWithTitle = () => {
38
- const chartOptions = {
39
- title: { text: "Active Users on Social Media" },
40
- series: [{ data: dataWithTitle }],
41
- }
42
-
43
- const options = Highcharts.merge({}, circleChartTheme, chartOptions)
44
-
45
- return (
46
- <div>
47
- <HighchartsReact
48
- highcharts={Highcharts}
49
- options={options}
50
- />
51
- </div>
52
- )
53
- }
36
+ const CircleChartWithLegendKit = (props) => (
37
+ <div>
38
+ <CircleChart
39
+ chartData={dataWithTitle}
40
+ id="with-title-example"
41
+ title="Active Users on Social Media"
42
+ {...props}
43
+ />
44
+ </div>
45
+ )
54
46
 
55
- export default CircleChartWithTitle
47
+ export default CircleChartWithLegendKit
@@ -14,6 +14,7 @@ examples:
14
14
 
15
15
  react:
16
16
  - circle_chart_default: Default Style
17
+ - circle_chart_pb_styles: Playbook Styles
17
18
  - circle_chart_live_data: Live Data
18
19
  - circle_chart_rounded: Rounded Corners
19
20
  - circle_chart_block: Accepts Any Block
@@ -9,3 +9,4 @@ export { default as CircleChartLegendPosition } from './_circle_chart_legend_pos
9
9
  export { default as CircleChartWithTitle } from './_circle_chart_with_title.jsx'
10
10
  export { default as CircleChartInnerSizes } from './_circle_chart_inner_sizes.jsx'
11
11
  export { default as CircleChartCustomTooltip } from "./_circle_chart_custom_tooltip.jsx"
12
+ export { default as CircleChartPbStyles } from "./_circle_chart_pb_styles.jsx"
@@ -3,7 +3,7 @@ import { InitialStateType, ActionType, DraggableProviderType } from "./types";
3
3
 
4
4
  const initialState: InitialStateType = {
5
5
  items: [],
6
- dragData: { id: "", initialGroup: "", originId: "" },
6
+ dragData: { id: "", initialGroup: "" },
7
7
  isDragging: "",
8
8
  activeContainer: ""
9
9
  };
@@ -60,8 +60,7 @@ export const DraggableProvider = ({
60
60
  onDragEnd,
61
61
  onDrop,
62
62
  onDragOver,
63
- dropZone = { type: 'ghost', color: 'neutral', direction: 'vertical' },
64
- providerId = 'default', // fallback provided for backward compatibility, so this does not become a required prop
63
+ dropZone = { type: 'ghost', color: 'neutral', direction: 'vertical' }
65
64
  }: DraggableProviderType) => {
66
65
  const [state, dispatch] = useReducer(reducer, initialState);
67
66
 
@@ -94,17 +93,15 @@ export const DraggableProvider = ({
94
93
  }, [state.items]);
95
94
 
96
95
  const handleDragStart = (id: string, container: string) => {
97
- dispatch({ type: 'SET_DRAG_DATA', payload: { id: id, initialGroup: container, originId: providerId } });
96
+ dispatch({ type: 'SET_DRAG_DATA', payload: { id: id, initialGroup: container } });
98
97
  dispatch({ type: 'SET_IS_DRAGGING', payload: id });
99
98
  if (onDragStart) onDragStart(id, container);
100
99
  };
101
100
 
102
101
  const handleDragEnter = (id: string, container: string) => {
103
- if (state.dragData.originId !== providerId) return; // Ignore drag events from other providers
104
-
105
102
  if (state.dragData.id !== id) {
106
103
  dispatch({ type: 'REORDER_ITEMS', payload: { dragId: state.dragData.id, targetId: id } });
107
- dispatch({ type: 'SET_DRAG_DATA', payload: { id: state.dragData.id, initialGroup: container, originId: providerId } });
104
+ dispatch({ type: 'SET_DRAG_DATA', payload: { id: state.dragData.id, initialGroup: container } });
108
105
  }
109
106
  if (onDragEnter) onDragEnter(id, container);
110
107
  };
@@ -112,7 +109,6 @@ export const DraggableProvider = ({
112
109
  const handleDragEnd = () => {
113
110
  dispatch({ type: 'SET_IS_DRAGGING', payload: "" });
114
111
  dispatch({ type: 'SET_ACTIVE_CONTAINER', payload: "" });
115
- dispatch({ type: 'SET_DRAG_DATA', payload: { id: "", initialGroup: "", originId: "" } });
116
112
  if (onDragEnd) onDragEnd();
117
113
  };
118
114
 
@@ -121,8 +117,6 @@ export const DraggableProvider = ({
121
117
  };
122
118
 
123
119
  const handleDrop = (container: string) => {
124
- if (state.dragData.originId !== providerId) return; // Ignore drop events from other providers
125
-
126
120
  dispatch({ type: 'SET_IS_DRAGGING', payload: "" });
127
121
  dispatch({ type: 'SET_ACTIVE_CONTAINER', payload: "" });
128
122
  changeCategory(state.dragData.id, container);
@@ -130,8 +124,6 @@ export const DraggableProvider = ({
130
124
  };
131
125
 
132
126
  const handleDragOver = (e: Event, container: string) => {
133
- if (state.dragData.originId !== providerId) return; // Ignore drag over events from other providers
134
-
135
127
  e.preventDefault();
136
128
  dispatch({ type: 'SET_ACTIVE_CONTAINER', payload: container });
137
129
  if (onDragOver) onDragOver(e, container);
@@ -6,16 +6,14 @@ export interface ItemType {
6
6
 
7
7
  export interface InitialStateType {
8
8
  items: ItemType[];
9
- dragData: { id: string; initialGroup: string, originId?: string };
9
+ dragData: { id: string; initialGroup: string };
10
10
  isDragging: string;
11
11
  activeContainer: string;
12
12
  }
13
13
 
14
14
  export type ActionType =
15
15
  | { type: 'SET_ITEMS'; payload: ItemType[] }
16
- | { type: 'SET_DRAG_DATA'; payload: {
17
- originId: string; id: string; initialGroup: string
18
- } }
16
+ | { type: 'SET_DRAG_DATA'; payload: { id: string; initialGroup: string } }
19
17
  | { type: 'SET_IS_DRAGGING'; payload: string }
20
18
  | { type: 'SET_ACTIVE_CONTAINER'; payload: string }
21
19
  | { type: 'CHANGE_CATEGORY'; payload: { itemId: string; container: string } }
@@ -37,5 +35,4 @@ export type ActionType =
37
35
  onDrop?: (container: string) => void;
38
36
  onDragOver?: (e: Event, container: string) => void;
39
37
  dropZone?: DropZoneConfig | string; // Can accept string for backward compatibility
40
- providerId?: string;
41
38
  }
@@ -8,7 +8,6 @@
8
8
  @import "../pb_textarea/textarea_mixin";
9
9
 
10
10
  @import "./scss_partials/dropdown_animation";
11
- @import "dropdown_mixin";
12
11
 
13
12
  [class*="pb_dropdown"] {
14
13
  .dropdown_wrapper {
@@ -99,23 +98,9 @@
99
98
  [class^="pb_title_kit"], a {
100
99
  color: $white !important;
101
100
  }
102
- border-bottom: 1px solid $border_light;
103
101
  &:hover {
104
- background-color: $product_1_background;
105
- }
106
-
107
- // activeStyle font color map
108
- @each $name, $color in $font-colors {
109
- &.font-#{$name} {
110
- @include apply-font-color($color);
111
- }
102
+ background-color: $product_1_background !important;
112
103
  }
113
- // activeStyle background color map (no difference between selected and selected+hover custom colors)
114
- @each $name, $bg in $background-colors {
115
- &.bg-#{$name} {
116
- background-color: $bg;
117
- }
118
- }
119
104
  }
120
105
  }
121
106
 
@@ -282,7 +267,6 @@
282
267
  }
283
268
  &[class*="selected"] {
284
269
  background-color: $primary;
285
- border-bottom: rgba($white, 0.15);
286
270
  }
287
271
  }
288
272
  }
@@ -39,10 +39,6 @@ type DropdownProps = {
39
39
  options: GenericObject;
40
40
  separators?: boolean;
41
41
  variant?: "default" | "subtle";
42
- activeStyle?: {
43
- backgroundColor?: string;
44
- fontColor?: string;
45
- };
46
42
  };
47
43
 
48
44
  interface DropdownComponent
@@ -73,7 +69,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
73
69
  options,
74
70
  separators = true,
75
71
  variant = "default",
76
- activeStyle,
77
72
  } = props;
78
73
 
79
74
  const ariaProps = buildAriaProps(aria);
@@ -256,7 +251,6 @@ let Dropdown = (props: DropdownProps, ref: any): React.ReactElement | null => {
256
251
  >
257
252
  <DropdownContext.Provider
258
253
  value={{
259
- activeStyle,
260
254
  autocomplete,
261
255
  dropdownContainerRef,
262
256
  filteredOptions,
@@ -18,7 +18,6 @@ const DropdownCustomRadioOptions = (props) => {
18
18
  return (
19
19
  <div>
20
20
  <Dropdown
21
- activeStyle={{ backgroundColor: "bg_light", fontColor: "text_lt_default" }}
22
21
  label="Select Item"
23
22
  onSelect={(selectedItem) => setSelectedValue(selectedItem?.value)}
24
23
  options={options}
@@ -1 +1 @@
1
- Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown. Use the [activeStyle](https://playbook.powerapp.cloud/kits/dropdown/react#custom-active-style-options) `backgroundColor` and `fontColor` props to create contrast between the Radio selection indicator and the Dropdown selection background indicator.
1
+ Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown.
@@ -16,7 +16,7 @@ examples:
16
16
  - dropdown_with_search_rails: Custom Trigger Dropdown with Search
17
17
  - dropdown_with_custom_padding: Custom Option Padding
18
18
  - dropdown_with_custom_icon_options: Custom Icon Options
19
- # - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in the Rails follow up to [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
19
+ # - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
20
20
  - dropdown_error: Dropdown with Error
21
21
  - dropdown_default_value: Default Value
22
22
  - dropdown_multi_select_with_default: Multi Select Default Value
@@ -39,9 +39,8 @@ examples:
39
39
  - dropdown_with_custom_trigger: Custom Trigger
40
40
  - dropdown_with_search: Custom Trigger Dropdown with Search
41
41
  - dropdown_with_custom_padding: Custom Option Padding
42
- - dropdown_with_custom_active_style_options: Custom Active Style Options
43
42
  - dropdown_with_custom_icon_options: Custom Icon Options
44
- - dropdown_with_custom_radio_options: Custom Radio Options
43
+ # - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
45
44
  - dropdown_error: Dropdown with Error
46
45
  - dropdown_default_value: Default Value
47
46
  - dropdown_multi_select_with_default: Multi Select Default Value
@@ -21,5 +21,4 @@ export { default as DropdownMultiSelectWithAutocomplete } from './_dropdown_mult
21
21
  export { default as DropdownMultiSelectWithDefault } from './_dropdown_multi_select_with_default.jsx'
22
22
  export { default as DropdownMultiSelectWithCustomOptions } from './_dropdown_multi_select_with_custom_options.jsx'
23
23
  export {default as DropdownWithCustomIconOptions} from './_dropdown_with_custom_icon_options.jsx'
24
- export {default as DropdownWithCustomRadioOptions} from './_dropdown_with_custom_radio_options.jsx'
25
- export {default as DropdownWithCustomActiveStyleOptions} from './_dropdown_with_custom_active_style_options.jsx'
24
+ export {default as DropdownWithCustomRadioOptions} from './_dropdown_with_custom_radio_options.jsx'
@@ -369,28 +369,4 @@ test("defaultValue works with multiSelect", () => {
369
369
  const option2 = Array.from(kit.querySelectorAll(".pb_dropdown_option_list"));
370
370
  const firstOpt = options[0].label
371
371
  expect(option2[0]).not.toHaveTextContent(firstOpt)
372
- })
373
-
374
- test("applies activeStyle backgroundColor and fontColor when selected", () => {
375
- render(
376
- <Dropdown
377
- activeStyle={{
378
- backgroundColor: "bg_light",
379
- fontColor: "primary",
380
- }}
381
- data={{ testid: testId }}
382
- options={options}
383
- />
384
- )
385
-
386
- const kit = screen.getByTestId(testId)
387
- const option = kit.querySelectorAll(".pb_dropdown_option_list")[1]
388
-
389
- fireEvent.click(option)
390
-
391
- const selected = kit.querySelector(".pb_dropdown_option_selected")
392
-
393
- expect(selected).toBeInTheDocument()
394
- expect(selected).toHaveClass("bg-bg_light")
395
- expect(selected).toHaveClass("font-primary")
396
372
  })
@@ -41,7 +41,6 @@ const DropdownOption = (props: DropdownOptionProps) => {
41
41
  } = props;
42
42
 
43
43
  const {
44
- activeStyle,
45
44
  filteredOptions,
46
45
  filterItem,
47
46
  focusedOptionIndex,
@@ -60,6 +59,7 @@ const DropdownOption = (props: DropdownOptionProps) => {
60
59
  ? selected.some((item) => item.label === option?.label)
61
60
  : (selected as GenericObject)?.label === option?.label;
62
61
 
62
+
63
63
  if (!isItemMatchingFilter(option) || (multiSelect && isSelected)) {
64
64
  return null;
65
65
  }
@@ -70,14 +70,6 @@ const DropdownOption = (props: DropdownOptionProps) => {
70
70
 
71
71
  const selectedClass = isSelected ? "selected" : "list";
72
72
 
73
-
74
- const bgTokenClass = activeStyle?.backgroundColor
75
- ? `bg-${activeStyle.backgroundColor}`
76
- : "";
77
- const fontTokenClass = activeStyle?.fontColor
78
- ? `font-${activeStyle.fontColor}`
79
- : "";
80
-
81
73
  const ariaProps = buildAriaProps(aria);
82
74
  const dataProps = buildDataProps(data);
83
75
  const htmlProps = buildHtmlProps(htmlOptions);
@@ -87,8 +79,6 @@ const DropdownOption = (props: DropdownOptionProps) => {
87
79
  selectedClass,
88
80
  focusedClass,
89
81
  ),
90
- bgTokenClass,
91
- fontTokenClass,
92
82
  globalProps(props),
93
83
  className
94
84
  );
@@ -1,36 +1,19 @@
1
1
  import React from 'react'
2
- import gaugeTheme from '../gaugeTheme'
3
- import Highcharts from "highcharts"
4
- import HighchartsReact from "highcharts-react-official"
5
- import HighchartsMore from "highcharts/highcharts-more"
6
- import SolidGauge from "highcharts/modules/solid-gauge"
7
- import colors from '../../tokens/exports/_colors.module.scss'
2
+ import Gauge from '../../pb_gauge/_gauge'
8
3
 
9
- HighchartsMore(Highcharts);
10
- SolidGauge(Highcharts);
4
+ const data = [
5
+ { name: 'Name', value: 67 },
6
+ ]
11
7
 
12
- const data = [{ name: "Name", y: 67 }]
8
+ const GaugeColors = (props) => (
9
+ <div>
10
+ <Gauge
11
+ chartData={data}
12
+ id="gauge-colors"
13
+ {...props}
14
+ colors={['data-7']}
15
+ />
16
+ </div>
17
+ )
13
18
 
14
- const baseOptions = {
15
- series: [{ data: data }],
16
- plotOptions: {
17
- solidgauge: {
18
- borderColor: colors.data_7,
19
- }
20
- },
21
- };
22
-
23
- const GaugeColors = () => {
24
- const options = Highcharts.merge({}, gaugeTheme, baseOptions);
25
-
26
- return (
27
- <div>
28
- <HighchartsReact
29
- highcharts={Highcharts}
30
- options={options}
31
- />
32
- </div>
33
- );
34
- };
35
-
36
- export default GaugeColors;
19
+ export default GaugeColors
@@ -2,44 +2,14 @@ import React from "react";
2
2
 
3
3
  import Flex from '../../pb_flex/_flex'
4
4
  import FlexItem from '../../pb_flex/_flex_item'
5
+ import Gauge from '../../pb_gauge/_gauge'
5
6
  import Card from '../../pb_card/_card'
6
7
  import Caption from '../../pb_caption/_caption'
7
8
  import Body from '../../pb_body/_body'
8
9
  import SectionSeparator from '../../pb_section_separator/_section_separator'
9
10
  import Title from '../../pb_title/_title'
10
- import gaugeTheme from '../gaugeTheme'
11
- import Highcharts from "highcharts"
12
- import HighchartsReact from "highcharts-react-official"
13
- import HighchartsMore from "highcharts/highcharts-more"
14
- import SolidGauge from "highcharts/modules/solid-gauge"
15
- import colors from '../../tokens/exports/_colors.module.scss'
16
- import typography from '../../tokens/exports/_typography.module.scss'
17
11
 
18
- HighchartsMore(Highcharts);
19
- SolidGauge(Highcharts);
20
-
21
- const data = [{ name: "Name", y: 10 }];
22
-
23
- const baseOptions = {
24
- series: [{ data: data }],
25
- chart: {
26
- height: "150",
27
- },
28
- plotOptions: {
29
- series: {
30
- animation: false,
31
- },
32
- solidgauge: {
33
- dataLabels: {
34
- format:
35
- `<span class="fix">{y:,f}</span>` +
36
- `<span style="fill: ${colors.text_lt_light}; font-size: ${typography.text_larger};">%</span>`,
37
- },
38
- },
39
- },
40
- };
41
-
42
- const options = Highcharts.merge({}, gaugeTheme, baseOptions);
12
+ const data = [{ name: "Name", value: 10 }];
43
13
 
44
14
  const GaugeComplex = (props) => (
45
15
  <Flex
@@ -130,9 +100,13 @@ const GaugeComplex = (props) => (
130
100
  shrink
131
101
  {...props}
132
102
  >
133
- <HighchartsReact
134
- highcharts={Highcharts}
135
- options={options}
103
+ <Gauge
104
+ chartData={data}
105
+ disableAnimation
106
+ height="150"
107
+ id="gauge-complex"
108
+ suffix="%"
109
+ {...props}
136
110
  />
137
111
  </FlexItem>
138
112
  </Flex>
@@ -1,30 +1,18 @@
1
1
  import React from 'react'
2
- import gaugeTheme from '../gaugeTheme'
3
- import Highcharts from "highcharts"
4
- import HighchartsReact from "highcharts-react-official"
5
- import HighchartsMore from "highcharts/highcharts-more"
6
- import SolidGauge from "highcharts/modules/solid-gauge"
2
+ import Gauge from '../../pb_gauge/_gauge'
7
3
 
8
- HighchartsMore(Highcharts);
9
- SolidGauge(Highcharts);
4
+ const data = [
5
+ { name: 'Name', value: 45 },
6
+ ]
10
7
 
11
- const data = [{ name: "Name", y: 45 }]
8
+ const GaugeDefault = (props) => (
9
+ <div>
10
+ <Gauge
11
+ chartData={data}
12
+ id="gauge-default"
13
+ {...props}
14
+ />
15
+ </div>
16
+ )
12
17
 
13
- const baseOptions = {
14
- series: [{ data: data }],
15
- };
16
-
17
- const GaugeDefault = () => {
18
- const options = Highcharts.merge({}, gaugeTheme, baseOptions);
19
-
20
- return (
21
- <div>
22
- <HighchartsReact
23
- highcharts={Highcharts}
24
- options={options}
25
- />
26
- </div>
27
- );
28
- };
29
-
30
- export default GaugeDefault;
18
+ export default GaugeDefault