playbook_ui 15.8.0.pre.rc.1 → 16.0.0.pre.alpha.fixiconsvgdataattrspropagation13513

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 (191) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -4
  3. data/app/pb_kits/playbook/pb_icon/icon.rb +6 -1
  4. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +7 -0
  5. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.md +1 -1
  6. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_disabled.html.erb +135 -0
  7. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_disabled.jsx +147 -0
  8. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_disabled.md +1 -0
  9. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +2 -0
  10. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
  11. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +402 -27
  12. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select_options.tsx +1 -0
  13. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_description.md +6 -1
  14. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_description.md +6 -1
  15. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +1 -1
  16. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_description.md +6 -1
  17. data/app/pb_kits/playbook/pb_pb_gauge_chart/pb_gauge_chart.test.jsx +1 -1
  18. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_description.md +6 -1
  19. data/app/pb_kits/playbook/pb_pb_line_graph/pb_line_graph.test.jsx +1 -1
  20. data/app/pb_kits/playbook/pb_radio/_radio.scss +8 -0
  21. data/app/pb_kits/playbook/utilities/test/globalProps/alignContent.test.js +37 -50
  22. data/app/pb_kits/playbook/utilities/test/globalProps/alignItems.test.js +38 -50
  23. data/app/pb_kits/playbook/utilities/test/globalProps/alignSelf.test.js +37 -50
  24. data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +37 -51
  25. data/app/pb_kits/playbook/utilities/test/globalProps/flex.test.js +44 -76
  26. data/app/pb_kits/playbook/utilities/test/globalProps/flexDirection.test.js +37 -50
  27. data/app/pb_kits/playbook/utilities/test/globalProps/flexGrow.test.js +35 -48
  28. data/app/pb_kits/playbook/utilities/test/globalProps/flexShrink.test.js +35 -48
  29. data/app/pb_kits/playbook/utilities/test/globalProps/flexWrap.test.js +37 -50
  30. data/app/pb_kits/playbook/utilities/test/globalProps/globalPropsTestHelper.js +373 -0
  31. data/app/pb_kits/playbook/utilities/test/globalProps/justifyContent.test.js +37 -50
  32. data/app/pb_kits/playbook/utilities/test/globalProps/justifySelf.test.js +37 -50
  33. data/app/pb_kits/playbook/utilities/test/globalProps/order.test.js +36 -48
  34. data/app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js +30 -18
  35. data/dist/chunks/_pb_line_graph-hxi01lk7.js +1 -0
  36. data/dist/chunks/_typeahead-BgLnlhzP.js +1 -0
  37. data/dist/chunks/componentRegistry-DzmmLR2x.js +1 -0
  38. data/dist/chunks/globalProps-DgYwLYNx.js +6 -0
  39. data/dist/chunks/lib-NLxTo8OB.js +29 -0
  40. data/dist/chunks/vendor.js +4 -4
  41. data/dist/menu.yml +0 -29
  42. data/dist/playbook-rails-react-bindings.js +1 -1
  43. data/dist/playbook-rails.js +1 -1
  44. data/dist/playbook.css +1 -1
  45. data/lib/playbook/version.rb +2 -2
  46. metadata +11 -147
  47. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.scss +0 -6
  48. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +0 -196
  49. data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +0 -31
  50. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +0 -32
  51. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
  52. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.html.erb +0 -1
  53. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +0 -98
  54. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.html.erb +0 -26
  55. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +0 -55
  56. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.md +0 -2
  57. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.html.erb +0 -42
  58. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.md +0 -2
  59. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.html.erb +0 -26
  60. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +0 -55
  61. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.html.erb +0 -26
  62. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +0 -69
  63. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
  64. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.html.erb +0 -58
  65. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +0 -64
  66. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.html.erb +0 -14
  67. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +0 -40
  68. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.html.erb +0 -15
  69. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +0 -48
  70. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.html.erb +0 -62
  71. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +0 -136
  72. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +0 -17
  73. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.html.erb +0 -23
  74. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +0 -52
  75. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb +0 -26
  76. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +0 -86
  77. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +0 -3
  78. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.html.erb +0 -20
  79. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +0 -46
  80. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.md +0 -2
  81. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.html.erb +0 -22
  82. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +0 -55
  83. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.md +0 -1
  84. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +0 -1
  85. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -28
  86. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -11
  87. data/app/pb_kits/playbook/pb_circle_chart/ChartsTypes.ts +0 -2
  88. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +0 -16
  89. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +0 -228
  90. data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +0 -45
  91. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +0 -88
  92. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.html.erb +0 -10
  93. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +0 -99
  94. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb +0 -26
  95. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +0 -88
  96. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb +0 -20
  97. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +0 -44
  98. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_rails.md +0 -2
  99. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
  100. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.html.erb +0 -20
  101. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +0 -43
  102. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +0 -5
  103. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb +0 -19
  104. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +0 -38
  105. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.html.erb +0 -136
  106. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +0 -152
  107. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.html.erb +0 -86
  108. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +0 -142
  109. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +0 -14
  110. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +0 -63
  111. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb +0 -22
  112. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +0 -45
  113. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.html.erb +0 -37
  114. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +0 -61
  115. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.html.erb +0 -22
  116. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +0 -41
  117. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.html.erb +0 -38
  118. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +0 -55
  119. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
  120. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +0 -26
  121. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +0 -11
  122. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +0 -104
  123. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +0 -16
  124. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +0 -174
  125. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +0 -173
  126. data/app/pb_kits/playbook/pb_dashboard/themeTypes.ts +0 -20
  127. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +0 -49
  128. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +0 -215
  129. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
  130. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.html.erb +0 -12
  131. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +0 -36
  132. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_rails.md +0 -2
  133. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
  134. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.html.erb +0 -32
  135. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +0 -146
  136. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_rails.md +0 -1
  137. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
  138. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +0 -11
  139. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +0 -30
  140. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +0 -12
  141. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +0 -36
  142. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +0 -14
  143. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +0 -49
  144. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +0 -15
  145. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +0 -62
  146. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +0 -76
  147. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +0 -15
  148. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +0 -54
  149. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +0 -1
  150. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +0 -27
  151. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +0 -80
  152. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +0 -2
  153. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +0 -14
  154. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +0 -38
  155. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +0 -29
  156. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +0 -72
  157. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
  158. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -27
  159. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -11
  160. data/app/pb_kits/playbook/pb_gauge/gauge.html.erb +0 -2
  161. data/app/pb_kits/playbook/pb_gauge/gauge.rb +0 -56
  162. data/app/pb_kits/playbook/pb_gauge/gauge.test.js +0 -35
  163. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +0 -91
  164. data/app/pb_kits/playbook/pb_line_graph/_line_graph.scss +0 -3
  165. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +0 -166
  166. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +0 -1
  167. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.html.erb +0 -26
  168. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +0 -56
  169. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_rails.md +0 -2
  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_default.html.erb +0 -26
  172. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +0 -52
  173. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.html.erb +0 -26
  174. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +0 -70
  175. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
  176. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.html.erb +0 -15
  177. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +0 -43
  178. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.html.erb +0 -16
  179. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +0 -49
  180. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.html.erb +0 -62
  181. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +0 -129
  182. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +0 -14
  183. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -18
  184. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -6
  185. data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +0 -52
  186. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +0 -30
  187. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +0 -125
  188. data/app/pb_kits/playbook/pb_line_graph/line_graph.html.erb +0 -1
  189. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +0 -93
  190. data/dist/chunks/_typeahead-D0GNUBXn.js +0 -6
  191. data/dist/chunks/lib-DxCgrqqG.js +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d0177497af81bb89af7b26046f27197942cb10b7a6640df32234376c1f7cedcb
4
- data.tar.gz: 164f59f14bfffc0a889b4859363c311d09dafddf5c1fce518000a42c4e647623
3
+ metadata.gz: 393713ea660650f9a928d4fd726d51943fe3c57b16b689549c10d453e65278da
4
+ data.tar.gz: 4532992ccd03d90b6d30f49f6d71d7a53bc1384c8931e00225348cca53be9cae
5
5
  SHA512:
6
- metadata.gz: 6c3ead358396ac6c1adf2c5a2a5af3409513bfc0a944fa7298d74135b66ea59f865e30a51167b6f81247967b5ac2be7326aa5717d5b3d0c2993a2a2a96831d48
7
- data.tar.gz: 4a5d41bdcc5e01b9dc0a3ffbaba5292702873902e5325dfeba5759e54049e03c95ce6ba760a0c0e8b1c9bd35c0ca6958bbec137fe7a33da7d978148cc6bc5b2f
6
+ metadata.gz: 30986f674f80c1c4794291168e53b824c96c3a035e98ac1fe824834f3bb6a93b9305271bb25e85dbe4bff4cdac352d2fdc09394279c285365b3e24f64ea9c71e
7
+ data.tar.gz: 5f882e8a52f52f42d7b63cf008a1215a0bab0902d2c1c17ef65111868c4aa4c7d5e1c5976780bd63424534f140e7db5143b5da4183e77c5d73009526564cf0cf
@@ -2,7 +2,6 @@
2
2
  @import 'pb_avatar/avatar';
3
3
  @import 'pb_background/background';
4
4
  @import 'pb_badge/badge';
5
- @import 'pb_bar_graph/bar_graph';
6
5
  @import 'pb_body/body';
7
6
  @import 'pb_bread_crumbs/bread_crumbs';
8
7
  @import 'pb_button/button';
@@ -10,7 +9,6 @@
10
9
  @import 'pb_caption/caption';
11
10
  @import 'pb_card/card';
12
11
  @import 'pb_checkbox/checkbox';
13
- @import 'pb_circle_chart/circle_chart';
14
12
  @import 'pb_circle_icon_button/circle_icon_button';
15
13
  @import 'pb_collapsible/collapsible';
16
14
  @import 'pb_contact/contact';
@@ -38,7 +36,6 @@
38
36
  @import 'pb_form/form';
39
37
  @import 'pb_form_group/form_group';
40
38
  @import 'pb_form_pill/form_pill';
41
- @import 'pb_gauge/gauge';
42
39
  @import 'pb_hashtag/hashtag';
43
40
  @import 'pb_highlight/highlight';
44
41
  @import 'pb_home_address_street/home_address_street';
@@ -53,7 +50,6 @@
53
50
  @import 'pb_layout/layout';
54
51
  @import 'pb_legend/legend';
55
52
  @import 'pb_lightbox/lightbox';
56
- @import 'pb_line_graph/line_graph';
57
53
  @import 'pb_link/link';
58
54
  @import 'pb_list/list';
59
55
  @import 'pb_loading_inline/loading_inline';
@@ -109,13 +109,18 @@ module Playbook
109
109
 
110
110
  svg["class"] = %w[pb_custom_icon svg-inline--fa].concat([object.custom_icon_classname]).join(" ")
111
111
  svg["id"] = object.id
112
- svg["data"] = object.data
113
112
  svg["height"] = "auto"
114
113
  svg["width"] = "auto"
115
114
  svg["tabindex"] = object.tabindex
116
115
  fill_color = object.color || "currentColor"
117
116
  doc.at_css("path")["fill"] = fill_color
118
117
 
118
+ if object.data.present?
119
+ object.data.each do |key, value|
120
+ svg["data-#{key}"] = value
121
+ end
122
+ end
123
+
119
124
  if object.aria.present?
120
125
  object.aria.each do |key, value|
121
126
  k = key.to_s
@@ -358,6 +358,13 @@ const MultiLevelSelect = forwardRef<HTMLInputElement, MultiLevelSelectProps>((pr
358
358
  const { id, value: inputText } = e.target;
359
359
  // The radio button needs a unique ID, this grabs the ID before the hyphen
360
360
  const selectedItemID = id.match(/^[^-]*/)[0];
361
+
362
+ // Check if the item is disabled - if so, don't allow selection (safety check in addition to native disabled attribute)
363
+ const clickedItem = filterFormattedDataById(formattedData, selectedItemID);
364
+ if (clickedItem.length > 0 && clickedItem[0].disabled) {
365
+ return;
366
+ }
367
+
361
368
  // Reset tree checked state, triggering useEffect
362
369
  const treeWithNoSelections = modifyRecursive(formattedData, false);
363
370
  // Update tree with single selection
@@ -1 +1 @@
1
- individual items can also be disabled by including the `disabled:true` within the object on the treeData for the `returnAllSelected`/`return_all_selected` variant. As noted above, this variant will return data on all checked nodes from the dropdown, irrespective of whether it is a parent or child node.
1
+ Individual items can also be disabled by including the `disabled:true` within the object on the treeData for the `returnAllSelected`/`return_all_selected` variant. As noted above, this variant will return data on all checked nodes from the dropdown, irrespective of whether it is a parent or child node.
@@ -0,0 +1,135 @@
1
+ <% treeData = [
2
+ {
3
+ label: "HQ",
4
+ value: "hQ",
5
+ id: "hq2",
6
+ },
7
+ {
8
+ label: "Philadelphia",
9
+ value: "philadelphia",
10
+ id: "phl2",
11
+ disabled: true,
12
+ children: [
13
+ {
14
+ label: "Marketing & Sales PHL",
15
+ value: "marketingAndSalesPhl",
16
+ id: "marketingPHL2",
17
+ },
18
+ {
19
+ label: "Installation Office PHL",
20
+ value: "installationOfficePhl",
21
+ id: "installationPHL2",
22
+ },
23
+ {
24
+ label: "Warehouse PHL",
25
+ value: "warehousePhl",
26
+ id: "warehousePHL2",
27
+ },
28
+ ]
29
+ },
30
+ {
31
+ label: "New Jersey",
32
+ value: "newJersey",
33
+ id: "nj2",
34
+ children: [
35
+ {
36
+ label: "New Jersey",
37
+ value: "newJersey",
38
+ id: "nj12",
39
+ children: [
40
+ {
41
+ label: "Marketing & Sales NJ",
42
+ value: "marketingAndSalesNj",
43
+ id: "marketingNJ2",
44
+ disabled: true,
45
+ },
46
+ {
47
+ label: "Installation Office NJ",
48
+ value: "installationOfficeNj",
49
+ id: "installationNJ2",
50
+ },
51
+ {
52
+ label: "Warehouse NJ",
53
+ value: "warehouseNj",
54
+ id: "warehouseNJ2",
55
+ },
56
+ ],
57
+ },
58
+ {
59
+ label: "Princeton",
60
+ value: "princeton",
61
+ id: "princeton2",
62
+ children: [
63
+ {
64
+ label: "Marketing & Sales Princeton",
65
+ value: "marketingAndSalesPrinceton",
66
+ id: "marketingPR2",
67
+ },
68
+ {
69
+ label: "Installation Office Princeton",
70
+ value: "installationOfficePrinceton",
71
+ id: "installationPR2",
72
+ disabled: true,
73
+ },
74
+ {
75
+ label: "Warehouse Princeton",
76
+ value: "warehousePrinceton",
77
+ id: "warehousePR2",
78
+ },
79
+ ]
80
+ },
81
+ ]
82
+ },
83
+ {
84
+ label: "Maryland",
85
+ value: "maryland",
86
+ id: "MD2",
87
+ children: [
88
+ {
89
+ label: "Marketing & Sales MD",
90
+ value: "marketingAndSalesMd",
91
+ id: "marketingMD2",
92
+ },
93
+ {
94
+ label: "Installation Office MD",
95
+ value: "installationOfficeMd",
96
+ id: "installationMD2",
97
+ },
98
+ {
99
+ label: "Warehouse MD",
100
+ value: "warehouseMd",
101
+ id: "warehouseMD2",
102
+ },
103
+ ]
104
+ },
105
+ {
106
+ label: "Connecticut",
107
+ value: "connecticut",
108
+ id: "CT2",
109
+ children: [
110
+ {
111
+ label: "Marketing & Sales CT",
112
+ value: "marketingAndSalesCt",
113
+ id: "marketingCT2",
114
+ },
115
+ {
116
+ label: "Installation Office CT",
117
+ value: "installationOfficeCt",
118
+ id: "installationCT2",
119
+ },
120
+ {
121
+ label: "Warehouse CT",
122
+ value: "warehouseCt",
123
+ id: "warehouseCT2",
124
+ },
125
+ ]
126
+ },
127
+ ] %>
128
+
129
+ <%= pb_rails("multi_level_select", props: {
130
+ id: "multi-level-select-single-disabled-rails",
131
+ name: "single_disabled",
132
+ tree_data: treeData,
133
+ input_name: "Power",
134
+ variant: "single"
135
+ }) %>
@@ -0,0 +1,147 @@
1
+ import React from "react";
2
+ import MultiLevelSelect from "../_multi_level_select";
3
+
4
+ const treeData = [
5
+ {
6
+ label: "HQ",
7
+ value: "hQ",
8
+ id: "hq2",
9
+ },
10
+ {
11
+ label: "Philadelphia",
12
+ value: "philadelphia",
13
+ id: "phl2",
14
+ disabled: true,
15
+ children: [
16
+ {
17
+ label: "Marketing & Sales PHL",
18
+ value: "marketingAndSalesPhl",
19
+ id: "marketingPHL2",
20
+ },
21
+ {
22
+ label: "Installation Office PHL",
23
+ value: "installationOfficePhl",
24
+ id: "installationPHL2",
25
+ },
26
+ {
27
+ label: "Warehouse PHL",
28
+ value: "warehousePhl",
29
+ id: "warehousePHL2",
30
+ },
31
+ ]
32
+ },
33
+ {
34
+ label: "New Jersey",
35
+ value: "newJersey",
36
+ id: "nj2",
37
+ children: [
38
+ {
39
+ label: "New Jersey",
40
+ value: "newJersey",
41
+ id: "nj12",
42
+ children: [
43
+ {
44
+ label: "Marketing & Sales NJ",
45
+ value: "marketingAndSalesNj",
46
+ id: "marketingNJ2",
47
+ disabled: true,
48
+ },
49
+ {
50
+ label: "Installation Office NJ",
51
+ value: "installationOfficeNj",
52
+ id: "installationNJ2",
53
+ },
54
+ {
55
+ label: "Warehouse NJ",
56
+ value: "warehouseNj",
57
+ id: "warehouseNJ2",
58
+ },
59
+ ],
60
+ },
61
+ {
62
+ label: "Princeton",
63
+ value: "princeton",
64
+ id: "princeton2",
65
+ children: [
66
+ {
67
+ label: "Marketing & Sales Princeton",
68
+ value: "marketingAndSalesPrinceton",
69
+ id: "marketingPR2",
70
+ },
71
+ {
72
+ label: "Installation Office Princeton",
73
+ value: "installationOfficePrinceton",
74
+ id: "installationPR2",
75
+ disabled: true,
76
+ },
77
+ {
78
+ label: "Warehouse Princeton",
79
+ value: "warehousePrinceton",
80
+ id: "warehousePR2",
81
+ },
82
+ ]
83
+ },
84
+ ]
85
+ },
86
+ {
87
+ label: "Maryland",
88
+ value: "maryland",
89
+ id: "MD2",
90
+ children: [
91
+ {
92
+ label: "Marketing & Sales MD",
93
+ value: "marketingAndSalesMd",
94
+ id: "marketingMD2",
95
+ },
96
+ {
97
+ label: "Installation Office MD",
98
+ value: "installationOfficeMd",
99
+ id: "installationMD2",
100
+ },
101
+ {
102
+ label: "Warehouse MD",
103
+ value: "warehouseMd",
104
+ id: "warehouseMD2",
105
+ },
106
+ ]
107
+ },
108
+ {
109
+ label: "Connecticut",
110
+ value: "connecticut",
111
+ id: "CT2",
112
+ children: [
113
+ {
114
+ label: "Marketing & Sales CT",
115
+ value: "marketingAndSalesCt",
116
+ id: "marketingCT2",
117
+ },
118
+ {
119
+ label: "Installation Office CT",
120
+ value: "installationOfficeCt",
121
+ id: "installationCT2",
122
+ },
123
+ {
124
+ label: "Warehouse CT",
125
+ value: "warehouseCt",
126
+ id: "warehouseCT2",
127
+ },
128
+ ]
129
+ },
130
+ ];
131
+
132
+ const MultiLevelSelectSingleDisabled = (props) => {
133
+ return (
134
+ <div>
135
+ <MultiLevelSelect
136
+ id="multiselect-single-disabled"
137
+ inputName="Power"
138
+ onSelect={(selectedNode) => console.log("Selected Node", selectedNode)}
139
+ treeData={treeData}
140
+ variant="single"
141
+ {...props}
142
+ />
143
+ </div>
144
+ )
145
+ };
146
+
147
+ export default MultiLevelSelectSingleDisabled;
@@ -0,0 +1 @@
1
+ Individual items can be disabled by including `disabled: true` within the object on the treeData for the `single` variant. Disabled options are visibly disabled in the dropdown UI and cannot be selected via mouse click or keyboard navigation. When a parent node is disabled, all of its children are automatically disabled as well.
@@ -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_single_disabled: Disabled Options (Single Select)
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_single_disabled: Disabled Options (Single Select)
@@ -14,3 +14,4 @@ export { default as MultiLevelSelectDisabledOptionsParent } from './_multi_level
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
16
  export { default as MultiLevelSelectLabel } from './_multi_level_select_label.jsx'
17
+ export { default as MultiLevelSelectSingleDisabled } from './_multi_level_select_single_disabled.jsx'