playbook_ui 15.8.0.pre.rc.0 → 16.0.0.pre.alpha.HFH3979Applydepwarningfixtoplaybook13635

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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -4
  3. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +13 -1
  4. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom.jsx +56 -0
  5. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom.md +10 -0
  6. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom_rails.html.erb +64 -0
  7. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_custom_rails.md +10 -0
  8. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +2 -0
  9. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +2 -1
  10. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +6 -1
  11. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +121 -0
  12. data/app/pb_kits/playbook/pb_dropdown/quickpick/index.ts +85 -9
  13. data/app/pb_kits/playbook/pb_dropdown/quickpick_helper.rb +83 -2
  14. data/app/pb_kits/playbook/pb_icon/icon.rb +6 -1
  15. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +7 -0
  16. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.md +1 -1
  17. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_disabled.html.erb +135 -0
  18. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_disabled.jsx +147 -0
  19. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_disabled.md +1 -0
  20. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +2 -0
  21. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
  22. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +402 -27
  23. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select_options.tsx +1 -0
  24. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.html.erb +30 -0
  25. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx +1 -1
  26. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md +1 -1
  27. data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +1 -0
  28. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +51 -7
  29. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.rb +1 -0
  30. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_description.md +6 -1
  31. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_description.md +6 -1
  32. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +1 -1
  33. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_description.md +6 -1
  34. data/app/pb_kits/playbook/pb_pb_gauge_chart/pb_gauge_chart.test.jsx +1 -1
  35. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_description.md +6 -1
  36. data/app/pb_kits/playbook/pb_pb_line_graph/pb_line_graph.test.jsx +1 -1
  37. data/app/pb_kits/playbook/pb_radio/_radio.scss +8 -0
  38. data/app/pb_kits/playbook/pb_rich_text_editor/TipTap/Toolbar.tsx +1 -1
  39. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +8 -3
  40. data/app/pb_kits/playbook/pb_rich_text_editor/_tiptap_styles.scss +53 -0
  41. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.jsx +71 -0
  42. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.md +1 -0
  43. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx +71 -0
  44. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.md +1 -0
  45. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
  46. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +3 -1
  47. data/app/pb_kits/playbook/pb_table/docs/_sections.yml +68 -0
  48. data/app/pb_kits/playbook/utilities/test/globalProps/alignContent.test.js +37 -50
  49. data/app/pb_kits/playbook/utilities/test/globalProps/alignItems.test.js +38 -50
  50. data/app/pb_kits/playbook/utilities/test/globalProps/alignSelf.test.js +37 -50
  51. data/app/pb_kits/playbook/utilities/test/globalProps/borderRadius.test.js +33 -0
  52. data/app/pb_kits/playbook/utilities/test/globalProps/bottom.test.js +60 -0
  53. data/app/pb_kits/playbook/utilities/test/globalProps/cursor.test.js +42 -0
  54. data/app/pb_kits/playbook/utilities/test/globalProps/dark.test.js +33 -0
  55. data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +37 -51
  56. data/app/pb_kits/playbook/utilities/test/globalProps/flex.test.js +44 -76
  57. data/app/pb_kits/playbook/utilities/test/globalProps/flexDirection.test.js +37 -50
  58. data/app/pb_kits/playbook/utilities/test/globalProps/flexGrow.test.js +35 -48
  59. data/app/pb_kits/playbook/utilities/test/globalProps/flexShrink.test.js +35 -48
  60. data/app/pb_kits/playbook/utilities/test/globalProps/flexWrap.test.js +37 -50
  61. data/app/pb_kits/playbook/utilities/test/globalProps/gap.test.js +87 -0
  62. data/app/pb_kits/playbook/utilities/test/globalProps/globalPropsTestHelper.js +373 -0
  63. data/app/pb_kits/playbook/utilities/test/globalProps/height.test.js +68 -0
  64. data/app/pb_kits/playbook/utilities/test/globalProps/htmlOptions.test.js +510 -0
  65. data/app/pb_kits/playbook/utilities/test/globalProps/justifyContent.test.js +37 -50
  66. data/app/pb_kits/playbook/utilities/test/globalProps/justifySelf.test.js +37 -50
  67. data/app/pb_kits/playbook/utilities/test/globalProps/left.test.js +60 -0
  68. data/app/pb_kits/playbook/utilities/test/globalProps/lineHeight.test.js +33 -0
  69. data/app/pb_kits/playbook/utilities/test/globalProps/margin.test.js +95 -0
  70. data/app/pb_kits/playbook/utilities/test/globalProps/numberSpacing.test.js +33 -0
  71. data/app/pb_kits/playbook/utilities/test/globalProps/order.test.js +36 -48
  72. data/app/pb_kits/playbook/utilities/test/globalProps/overflow.test.js +68 -0
  73. data/app/pb_kits/playbook/utilities/test/globalProps/padding.test.js +95 -0
  74. data/app/pb_kits/playbook/utilities/test/globalProps/position.test.js +33 -0
  75. data/app/pb_kits/playbook/utilities/test/globalProps/right.test.js +60 -0
  76. data/app/pb_kits/playbook/utilities/test/globalProps/shadow.test.js +33 -0
  77. data/app/pb_kits/playbook/utilities/test/globalProps/textAlign.test.js +41 -0
  78. data/app/pb_kits/playbook/utilities/test/globalProps/top.test.js +60 -0
  79. data/app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js +30 -18
  80. data/app/pb_kits/playbook/utilities/test/globalProps/verticalAlign.test.js +40 -0
  81. data/app/pb_kits/playbook/utilities/test/globalProps/width.test.js +66 -0
  82. data/app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js +50 -0
  83. data/dist/chunks/_pb_line_graph-hxi01lk7.js +1 -0
  84. data/dist/chunks/_typeahead-BgLnlhzP.js +1 -0
  85. data/dist/chunks/componentRegistry-DzmmLR2x.js +1 -0
  86. data/dist/chunks/globalProps-DgYwLYNx.js +6 -0
  87. data/dist/chunks/lib-NLxTo8OB.js +29 -0
  88. data/dist/chunks/vendor.js +4 -4
  89. data/dist/menu.yml +0 -29
  90. data/dist/playbook-rails-react-bindings.js +1 -1
  91. data/dist/playbook-rails.js +1 -1
  92. data/dist/playbook.css +1 -1
  93. data/lib/playbook/version.rb +2 -2
  94. metadata +42 -147
  95. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.scss +0 -6
  96. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +0 -196
  97. data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +0 -31
  98. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +0 -32
  99. data/app/pb_kits/playbook/pb_bar_graph/barGraphTheme.ts +0 -106
  100. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.html.erb +0 -1
  101. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +0 -98
  102. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.html.erb +0 -26
  103. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.jsx +0 -55
  104. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_colors.md +0 -2
  105. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.html.erb +0 -42
  106. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.md +0 -2
  107. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.html.erb +0 -26
  108. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +0 -55
  109. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.html.erb +0 -26
  110. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +0 -69
  111. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.md +0 -3
  112. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.html.erb +0 -58
  113. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_horizontal.jsx +0 -64
  114. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.html.erb +0 -14
  115. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +0 -40
  116. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.html.erb +0 -15
  117. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +0 -48
  118. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.html.erb +0 -62
  119. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +0 -136
  120. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +0 -17
  121. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.html.erb +0 -23
  122. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +0 -52
  123. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb +0 -26
  124. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +0 -86
  125. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +0 -3
  126. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.html.erb +0 -20
  127. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.jsx +0 -46
  128. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_spline.md +0 -2
  129. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.html.erb +0 -22
  130. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +0 -55
  131. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.md +0 -1
  132. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +0 -1
  133. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +0 -28
  134. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -11
  135. data/app/pb_kits/playbook/pb_circle_chart/ChartsTypes.ts +0 -2
  136. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +0 -16
  137. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +0 -228
  138. data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +0 -45
  139. data/app/pb_kits/playbook/pb_circle_chart/circleChartTheme.ts +0 -88
  140. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.html.erb +0 -10
  141. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +0 -99
  142. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb +0 -26
  143. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +0 -88
  144. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb +0 -20
  145. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +0 -44
  146. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_rails.md +0 -2
  147. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors_react.md +0 -2
  148. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.html.erb +0 -20
  149. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +0 -43
  150. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.md +0 -5
  151. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb +0 -19
  152. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +0 -38
  153. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.html.erb +0 -136
  154. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +0 -152
  155. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.html.erb +0 -86
  156. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +0 -142
  157. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +0 -14
  158. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +0 -63
  159. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb +0 -22
  160. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +0 -45
  161. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.html.erb +0 -37
  162. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +0 -61
  163. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.html.erb +0 -22
  164. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +0 -41
  165. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.html.erb +0 -38
  166. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +0 -55
  167. data/app/pb_kits/playbook/pb_circle_chart/docs/_description.md +0 -1
  168. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +0 -26
  169. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +0 -11
  170. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +0 -104
  171. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +0 -16
  172. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +0 -174
  173. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +0 -173
  174. data/app/pb_kits/playbook/pb_dashboard/themeTypes.ts +0 -20
  175. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +0 -49
  176. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +0 -215
  177. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +0 -1
  178. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.html.erb +0 -12
  179. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +0 -36
  180. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_rails.md +0 -2
  181. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +0 -2
  182. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.html.erb +0 -32
  183. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +0 -146
  184. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_rails.md +0 -1
  185. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +0 -1
  186. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +0 -11
  187. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +0 -30
  188. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +0 -12
  189. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +0 -36
  190. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +0 -14
  191. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +0 -49
  192. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +0 -15
  193. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +0 -62
  194. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +0 -76
  195. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +0 -15
  196. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +0 -54
  197. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +0 -1
  198. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +0 -27
  199. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +0 -80
  200. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +0 -2
  201. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +0 -14
  202. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +0 -38
  203. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +0 -29
  204. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +0 -72
  205. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +0 -1
  206. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -27
  207. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -11
  208. data/app/pb_kits/playbook/pb_gauge/gauge.html.erb +0 -2
  209. data/app/pb_kits/playbook/pb_gauge/gauge.rb +0 -56
  210. data/app/pb_kits/playbook/pb_gauge/gauge.test.js +0 -35
  211. data/app/pb_kits/playbook/pb_gauge/gaugeTheme.ts +0 -91
  212. data/app/pb_kits/playbook/pb_line_graph/_line_graph.scss +0 -3
  213. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +0 -166
  214. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +0 -1
  215. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.html.erb +0 -26
  216. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +0 -56
  217. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_rails.md +0 -2
  218. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +0 -3
  219. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.html.erb +0 -26
  220. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +0 -52
  221. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.html.erb +0 -26
  222. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +0 -70
  223. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +0 -3
  224. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.html.erb +0 -15
  225. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +0 -43
  226. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.html.erb +0 -16
  227. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +0 -49
  228. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.html.erb +0 -62
  229. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +0 -129
  230. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +0 -14
  231. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -18
  232. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -6
  233. data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +0 -52
  234. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +0 -30
  235. data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +0 -125
  236. data/app/pb_kits/playbook/pb_line_graph/line_graph.html.erb +0 -1
  237. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +0 -93
  238. data/dist/chunks/_typeahead-CSCNg6cp.js +0 -6
  239. data/dist/chunks/lib-DxCgrqqG.js +0 -29
@@ -0,0 +1,60 @@
1
+ import React from 'react'
2
+ import { testGlobalProp, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
3
+ import { render, screen } from '../../test-utils'
4
+ import Body from '../../../pb_body/_body'
5
+ import Button from '../../../pb_button/_button'
6
+ import Card from '../../../pb_card/_card'
7
+ import Title from '../../../pb_title/_title'
8
+ import Flex from '../../../pb_flex/_flex'
9
+ import Link from '../../../pb_link/_link'
10
+ import Badge from '../../../pb_badge/_badge'
11
+
12
+ const validSizes = ['xs', 'sm', 'md', 'lg', 'xl']
13
+
14
+ // NOTE: TextInput excluded - positioning props are not valid for input elements
15
+ // Test bottom prop with string values
16
+ testGlobalProp(
17
+ 'bottom',
18
+ validSizes,
19
+ (v) => `bottom_${v}`,
20
+ null,
21
+ [Body, Button, Card, Title, Flex, Link, Badge]
22
+ )
23
+
24
+ // Test bottom prop with object values (inset) - tested separately due to object value complexity
25
+ test('Global Props: bottom returns proper class name with object values (inset)', () => {
26
+ const testCases = [
27
+ { value: { value: 'md', inset: true }, expected: 'bottom_md_inset' },
28
+ { value: { value: 'lg', inset: false }, expected: 'bottom_lg' },
29
+ { value: { value: 'sm', inset: true }, expected: 'bottom_sm_inset' }
30
+ ]
31
+
32
+ testCases.forEach(({ value, expected }) => {
33
+ const testId = `body-bottom-object-${value.value}-${value.inset}`
34
+ render(
35
+ <Body
36
+ bottom={value}
37
+ data={{ testid: testId }}
38
+ text="Hi"
39
+ />
40
+ )
41
+ const kit = screen.getByTestId(testId)
42
+ expect(kit).toHaveClass(expected)
43
+ })
44
+ })
45
+
46
+ testGlobalPropAbsence(
47
+ 'bottom',
48
+ ['bottom_xs', 'bottom_sm', 'bottom_md', 'bottom_lg', 'bottom_xl'],
49
+ undefined,
50
+ { skipNull: true }
51
+ )
52
+
53
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
54
+ testGlobalPropInvalidValues(
55
+ 'bottom',
56
+ ['invalid', 'bad_value', 'not_a_size', 'special-chars!@#'],
57
+ ['bottom_invalid', 'bottom_bad_value', 'bottom_not_a_size', 'bottom_special-chars!@#'],
58
+ undefined,
59
+ { skipKnownIssues: true }
60
+ )
@@ -0,0 +1,42 @@
1
+ import { testGlobalProp, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
2
+ import { camelToSnakeCase } from '../../../utilities/text'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import TextInput from '../../../pb_text_input/_text_input'
8
+ import Flex from '../../../pb_flex/_flex'
9
+ import Link from '../../../pb_link/_link'
10
+ import Badge from '../../../pb_badge/_badge'
11
+
12
+ const validValues = [
13
+ 'auto', 'default', 'none', 'contextMenu', 'help', 'pointer', 'progress', 'wait', 'cell',
14
+ 'crosshair', 'text', 'verticalText', 'alias', 'copy', 'move', 'noDrop', 'notAllowed', 'grab',
15
+ 'grabbing', 'eResize', 'nResize', 'neResize', 'nwResize', 'sResize', 'seResize', 'swResize', 'wResize',
16
+ 'ewResize', 'nsResize', 'neswResize', 'nwseResize', 'colResize', 'rowResize', 'allScroll', 'zoomIn', 'zoomOut'
17
+ ]
18
+
19
+ testGlobalProp(
20
+ 'cursor',
21
+ validValues,
22
+ (v) => `cursor_${camelToSnakeCase(v)}`,
23
+ null,
24
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
25
+ )
26
+
27
+ testGlobalPropAbsence(
28
+ 'cursor',
29
+ ['cursor_auto', 'cursor_pointer', 'cursor_default', 'cursor_none'],
30
+ undefined,
31
+ { skipNull: true }
32
+ )
33
+
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'cursor',
38
+ ['invalid', 'bad_value', 'not_a_cursor', 'special-chars!@#'],
39
+ ['cursor_invalid', 'cursor_bad_value', 'cursor_not_a_cursor', 'cursor_special-chars!@#'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -0,0 +1,33 @@
1
+ import { testGlobalProp, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
2
+ import Body from '../../../pb_body/_body'
3
+ import Button from '../../../pb_button/_button'
4
+ import Card from '../../../pb_card/_card'
5
+ import Title from '../../../pb_title/_title'
6
+ import TextInput from '../../../pb_text_input/_text_input'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
10
+
11
+ testGlobalProp(
12
+ 'dark',
13
+ [true],
14
+ () => 'dark',
15
+ null,
16
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
17
+ )
18
+
19
+ testGlobalPropAbsence(
20
+ 'dark',
21
+ ['dark'],
22
+ undefined,
23
+ { skipNull: true }
24
+ )
25
+
26
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
27
+ testGlobalPropInvalidValues(
28
+ 'dark',
29
+ ['invalid', 'bad_value', 123, 'true', 'false'],
30
+ ['dark_invalid', 'dark_bad_value', 'dark_123', 'dark_true', 'dark_false'],
31
+ undefined,
32
+ { skipKnownIssues: true }
33
+ )
@@ -1,56 +1,42 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
4
- import Body from '../../../pb_body/_body'
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
5
2
  import { camelToSnakeCase } from '../../../utilities/text'
6
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import TextInput from '../../../pb_text_input/_text_input'
8
+ import Flex from '../../../pb_flex/_flex'
9
+ import Link from '../../../pb_link/_link'
10
+ import Badge from '../../../pb_badge/_badge'
7
11
 
8
- const testSubject = 'body'
12
+ testGlobalProp(
13
+ 'display',
14
+ ['block', 'inline', 'inline_block', 'flex', 'inline_flex', 'none', 'grid'],
15
+ (v) => `display_${camelToSnakeCase(v)}`,
16
+ (size, v) => `display_${size}_${camelToSnakeCase(v)}`,
17
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
18
+ )
9
19
 
10
- // %w[block inline_block inline flex inline_flex none]
11
- test('Global Props: returns proper class name', () => {
12
- const propValues = ["block", "inline", "inline_block", "flex", "inline_flex", "none", "grid" ]
13
- for(let x = 0, y = propValues.length; x < y; ++x) {
14
- const testId = `${testSubject}-${propValues[x]}`
15
- render(
16
- <Body
17
- data={{ testid: testId }}
18
- display={`${propValues[x]}`}
19
- text="Hi"
20
- />
21
- )
22
- const kit = screen.getByTestId(testId)
23
- expect(kit).toHaveClass(`display_${camelToSnakeCase(propValues[x])}`)
20
+ testGlobalPropResponsiveWithDefault(
21
+ 'display',
22
+ { default: 'none', xs: 'block', sm: 'none', md: 'block' },
23
+ (v) => `display_${camelToSnakeCase(v)}`,
24
+ (size, v) => `display_${size}_${camelToSnakeCase(v)}`
25
+ )
24
26
 
25
- SCREEN_SIZES.forEach((size) => {
26
- const testId = `${testSubject}-${propValues[x]}-${size}`
27
- render(
28
- <Body
29
- data={{ testid: testId }}
30
- display={{ [size]: propValues[x] }}
31
- text="Hi"
32
- />
33
- )
34
- const kit = screen.getByTestId(testId)
35
- expect(kit).toHaveClass(`display_${size}_${camelToSnakeCase(propValues[x])}`)
36
- })
37
- }
38
- })
27
+ testGlobalPropAbsence(
28
+ 'display',
29
+ ['display_block', 'display_inline', 'display_flex', 'display_none', 'display_grid'],
30
+ undefined,
31
+ { skipNull: true },
32
+ )
39
33
 
40
- test('Global Props: returns proper class name with default key', () => {
41
- const testId = `${testSubject}-default-responsive`
42
- render(
43
- <Body
44
- data={{ testid: testId }}
45
- display={{ default: "none", xs: "block", sm: "none", md: "block" }}
46
- text="Hi"
47
- />
48
- )
49
- const kit = screen.getByTestId(testId)
50
- // Should have base class for default value
51
- expect(kit).toHaveClass(`display_none`)
52
- // Should have responsive classes for screen sizes
53
- expect(kit).toHaveClass(`display_xs_block`)
54
- expect(kit).toHaveClass(`display_sm_none`)
55
- expect(kit).toHaveClass(`display_md_block`)
56
- })
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'display',
38
+ ['invalid', 'bad_value', 'not_a_display_value', 'special-chars!@#', 'display_with_underscores'],
39
+ ['display_invalid', 'display_bad_value', 'display_not_a_display_value', 'display_special-chars!@#', 'display_display_with_underscores'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -1,82 +1,50 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
4
2
  import Body from '../../../pb_body/_body'
5
- import { SCREEN_SIZES } from '../../test-utils'
6
-
7
- const testSubject = 'body'
3
+ import Button from '../../../pb_button/_button'
4
+ import Card from '../../../pb_card/_card'
5
+ import Title from '../../../pb_title/_title'
6
+ import TextInput from '../../../pb_text_input/_text_input'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
8
10
 
9
- test('Global Props: Returns ordinal suffixed class name', () => {
10
- for(let x = 0, y = 13; x < y; ++x) {
11
- const testId = `${testSubject}-${x}`
12
- render(
13
- <Body
14
- data={{ testid: testId }}
15
- flex={`${x}`}
16
- text="Hi"
17
- />
18
- )
19
- const kit = screen.getByTestId(testId)
20
- expect(kit).toHaveClass(`flex_${x}`)
11
+ // Test numeric values (0-12) - flex prop expects strings
12
+ testGlobalProp(
13
+ 'flex',
14
+ Array.from({ length: 13 }, (_, i) => String(i)),
15
+ (v) => `flex_${v}`,
16
+ (size, v) => `flex_${size}_${v}`,
17
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
18
+ )
21
19
 
22
- SCREEN_SIZES.forEach((size) => {
23
- const testId = `${testSubject}-${x}-${size}`
24
- render(
25
- <Body
26
- data={{ testid: testId }}
27
- flex={{ [size]: x }}
28
- text="Hi"
29
- />
30
- )
31
- const kit = screen.getByTestId(testId)
32
- expect(kit).toHaveClass(`flex_${size}_${x}`)
33
- })
34
- }
35
- })
20
+ // Test string values
21
+ testGlobalProp(
22
+ 'flex',
23
+ ['auto', 'initial', 'none'],
24
+ (v) => `flex_${v}`,
25
+ (size, v) => `flex_${size}_${v}`,
26
+ [Body, Button, Card, Title, TextInput, Flex, Link, Badge]
27
+ )
36
28
 
37
- test('Global Props: returns proper class name', () => {
38
- const propValues = ["auto", "initial", "none"]
39
- for(let x = 0, y = propValues.length; x < y; ++x) {
40
- const testId = `${testSubject}-${propValues[x]}`
41
- render(
42
- <Body
43
- data={{ testid: testId }}
44
- flex={`${propValues[x]}`}
45
- text="Hi"
46
- />
47
- )
48
- const kit = screen.getByTestId(testId)
49
- expect(kit).toHaveClass(`flex_${propValues[x]}`)
29
+ testGlobalPropResponsiveWithDefault(
30
+ 'flex',
31
+ { default: '3', xs: '1', sm: '3', md: '1' },
32
+ (v) => `flex_${v}`,
33
+ (size, v) => `flex_${size}_${v}`
34
+ )
50
35
 
51
- SCREEN_SIZES.forEach((size) => {
52
- const testId = `${testSubject}-${propValues[x]}-${size}`
53
- render(
54
- <Body
55
- data={{ testid: testId }}
56
- flex={{ [size]: propValues[x] }}
57
- text="Hi"
58
- />
59
- )
60
- const kit = screen.getByTestId(testId)
61
- expect(kit).toHaveClass(`flex_${size}_${propValues[x]}`)
62
- })
63
- }
64
- })
36
+ testGlobalPropAbsence(
37
+ 'flex',
38
+ ['flex_0', 'flex_1', 'flex_12', 'flex_auto', 'flex_initial', 'flex_none'],
39
+ undefined,
40
+ { skipNull: true }
41
+ )
65
42
 
66
- test('Global Props: returns proper class name with default key', () => {
67
- const testId = `${testSubject}-default-responsive`
68
- render(
69
- <Body
70
- data={{ testid: testId }}
71
- flex={{ default: "3", xs: "1", sm: "3", md: "1" }}
72
- text="Hi"
73
- />
74
- )
75
- const kit = screen.getByTestId(testId)
76
- // Should have base class for default value
77
- expect(kit).toHaveClass(`flex_3`)
78
- // Should have responsive classes for screen sizes
79
- expect(kit).toHaveClass(`flex_xs_1`)
80
- expect(kit).toHaveClass(`flex_sm_3`)
81
- expect(kit).toHaveClass(`flex_md_1`)
82
- })
43
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
44
+ testGlobalPropInvalidValues(
45
+ 'flex',
46
+ [999, -1, 'invalid', 'out_of_range', 'bad_string', 13, 'special-chars!@#'],
47
+ ['flex_999', 'flex_-1', 'flex_invalid', 'flex_out_of_range', 'flex_bad_string', 'flex_13', 'flex_special-chars!@#'],
48
+ undefined,
49
+ { skipKnownIssues: true }
50
+ )
@@ -1,55 +1,42 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
4
- import Body from '../../../pb_body/_body'
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
5
2
  import { camelToSnakeCase } from '../../../utilities/text'
6
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Body from '../../../pb_body/_body'
4
+ import Button from '../../../pb_button/_button'
5
+ import Card from '../../../pb_card/_card'
6
+ import Title from '../../../pb_title/_title'
7
+ import Flex from '../../../pb_flex/_flex'
8
+ import Link from '../../../pb_link/_link'
9
+ import Badge from '../../../pb_badge/_badge'
7
10
 
8
- const testSubject = 'body'
11
+ // Note: TextInput excluded - flexDirection is a flexbox property that doesn't apply to form inputs
12
+ testGlobalProp(
13
+ 'flexDirection',
14
+ ['row', 'column', 'columnReverse'],
15
+ (v) => `flex_direction_${camelToSnakeCase(v)}`,
16
+ (size, v) => `flex_direction_${size}_${camelToSnakeCase(v)}`,
17
+ [Body, Button, Card, Title, Flex, Link, Badge]
18
+ )
9
19
 
10
- test('Global Props: returns proper class name', () => {
11
- const propValues = ["row", "column", "columnReverse"]
12
- for(let x = 0, y = propValues.length; x < y; ++x) {
13
- const testId = `${testSubject}-${propValues[x]}`
14
- render(
15
- <Body
16
- data={{ testid: testId }}
17
- flexDirection={`${propValues[x]}`}
18
- text="Hi"
19
- />
20
- )
21
- const kit = screen.getByTestId(testId)
22
- expect(kit).toHaveClass(`flex_direction_${camelToSnakeCase(propValues[x])}`)
20
+ testGlobalPropResponsiveWithDefault(
21
+ 'flexDirection',
22
+ { default: 'column', xs: 'row', sm: 'column', md: 'row' },
23
+ (v) => `flex_direction_${camelToSnakeCase(v)}`,
24
+ (size, v) => `flex_direction_${size}_${camelToSnakeCase(v)}`
25
+ )
23
26
 
24
- SCREEN_SIZES.forEach((size) => {
25
- const testId = `${testSubject}-${propValues[x]}-${size}`
26
- render(
27
- <Body
28
- data={{ testid: testId }}
29
- flexDirection={{ [size]: propValues[x] }}
30
- text="Hi"
31
- />
32
- )
33
- const kit = screen.getByTestId(testId)
34
- expect(kit).toHaveClass(`flex_direction_${size}_${camelToSnakeCase(propValues[x])}`)
35
- })
36
- }
37
- })
27
+ testGlobalPropAbsence(
28
+ 'flexDirection',
29
+ ['flex_direction_row', 'flex_direction_column', 'flex_direction_column_reverse'],
30
+ undefined,
31
+ { skipNull: true }
32
+ )
38
33
 
39
- test('Global Props: returns proper class name with default key', () => {
40
- const testId = `${testSubject}-default-responsive`
41
- render(
42
- <Body
43
- data={{ testid: testId }}
44
- flexDirection={{ default: "column", xs: "row", sm: "column", md: "row" }}
45
- text="Hi"
46
- />
47
- )
48
- const kit = screen.getByTestId(testId)
49
- // Should have base class for default value
50
- expect(kit).toHaveClass(`flex_direction_column`)
51
- // Should have responsive classes for screen sizes
52
- expect(kit).toHaveClass(`flex_direction_xs_row`)
53
- expect(kit).toHaveClass(`flex_direction_sm_column`)
54
- expect(kit).toHaveClass(`flex_direction_md_row`)
55
- })
34
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
35
+ // NOTE: Using allowRenderingErrors: true because invalid types (like numbers) cause rendering errors with camelToSnakeCase
36
+ testGlobalPropInvalidValues(
37
+ 'flexDirection',
38
+ ['invalid', 'bad_value', 'not_a_direction', 'special-chars!@#'],
39
+ ['flex_direction_invalid', 'flex_direction_bad_value', 'flex_direction_not_a_direction', 'flex_direction_special-chars!@#'],
40
+ undefined,
41
+ { skipKnownIssues: true, allowRenderingErrors: true }
42
+ )
@@ -1,53 +1,40 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
4
2
  import Body from '../../../pb_body/_body'
5
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Button from '../../../pb_button/_button'
4
+ import Card from '../../../pb_card/_card'
5
+ import Title from '../../../pb_title/_title'
6
+ import Flex from '../../../pb_flex/_flex'
7
+ import Link from '../../../pb_link/_link'
8
+ import Badge from '../../../pb_badge/_badge'
6
9
 
7
- const testSubject = 'body'
10
+ // Note: TextInput excluded - flexGrow is a flexbox property that doesn't apply to form inputs
11
+ testGlobalProp(
12
+ 'flexGrow',
13
+ [0, 1],
14
+ (v) => `flex_grow_${v}`,
15
+ (size, v) => `flex_grow_${size}_${v}`,
16
+ [Body, Button, Card, Title, Flex, Link, Badge]
17
+ )
8
18
 
9
- test('Global Props: Returns ordinal suffixed class name', () => {
10
- for(let x = 0, y = 2; x < y; ++x) {
11
- const testId = `${testSubject}-${x}`
12
- render(
13
- <Body
14
- data={{ testid: testId }}
15
- flexGrow={x}
16
- text="Hi"
17
- />
18
- )
19
- const kit = screen.getByTestId(testId)
20
- expect(kit).toHaveClass(`flex_grow_${x}`)
19
+ testGlobalPropResponsiveWithDefault(
20
+ 'flexGrow',
21
+ { default: 1, xs: 0, sm: 1, md: 0 },
22
+ (v) => `flex_grow_${v}`,
23
+ (size, v) => `flex_grow_${size}_${v}`
24
+ )
21
25
 
22
- SCREEN_SIZES.forEach((size) => {
23
- const testId = `${testSubject}-${x}-${size}`
24
- render(
25
- <Body
26
- data={{ testid: testId }}
27
- flexGrow={{ [size]: x }}
28
- text="Hi"
29
- />
30
- )
31
- const kit = screen.getByTestId(testId)
32
- expect(kit).toHaveClass(`flex_grow_${size}_${x}`)
33
- })
34
- }
35
- })
26
+ testGlobalPropAbsence(
27
+ 'flexGrow',
28
+ ['flex_grow_0', 'flex_grow_1'],
29
+ undefined,
30
+ { skipNull: true }
31
+ )
36
32
 
37
- test('Global Props: returns proper class name with default key', () => {
38
- const testId = `${testSubject}-default-responsive`
39
- render(
40
- <Body
41
- data={{ testid: testId }}
42
- flexGrow={{ default: 1, xs: 0, sm: 1, md: 0 }}
43
- text="Hi"
44
- />
45
- )
46
- const kit = screen.getByTestId(testId)
47
- // Should have base class for default value
48
- expect(kit).toHaveClass(`flex_grow_1`)
49
- // Should have responsive classes for screen sizes
50
- expect(kit).toHaveClass(`flex_grow_xs_0`)
51
- expect(kit).toHaveClass(`flex_grow_sm_1`)
52
- expect(kit).toHaveClass(`flex_grow_md_0`)
53
- })
33
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
34
+ testGlobalPropInvalidValues(
35
+ 'flexGrow',
36
+ [2, -1, 999, 'invalid', 'bad_value', 'special-chars!@#'],
37
+ ['flex_grow_2', 'flex_grow_-1', 'flex_grow_999', 'flex_grow_invalid', 'flex_grow_bad_value', 'flex_grow_special-chars!@#'],
38
+ undefined,
39
+ { skipKnownIssues: true }
40
+ )
@@ -1,53 +1,40 @@
1
- import React from 'react'
2
- import { render, screen } from '../../test-utils'
3
-
1
+ import { testGlobalProp, testGlobalPropResponsiveWithDefault, testGlobalPropAbsence, testGlobalPropInvalidValues } from './globalPropsTestHelper'
4
2
  import Body from '../../../pb_body/_body'
5
- import { SCREEN_SIZES } from '../../test-utils'
3
+ import Button from '../../../pb_button/_button'
4
+ import Card from '../../../pb_card/_card'
5
+ import Title from '../../../pb_title/_title'
6
+ import Flex from '../../../pb_flex/_flex'
7
+ import Link from '../../../pb_link/_link'
8
+ import Badge from '../../../pb_badge/_badge'
6
9
 
7
- const testSubject = 'body'
10
+ // Note: TextInput excluded - flexShrink is a flexbox property that doesn't apply to form inputs
11
+ testGlobalProp(
12
+ 'flexShrink',
13
+ [0, 1],
14
+ (v) => `flex_shrink_${v}`,
15
+ (size, v) => `flex_shrink_${size}_${v}`,
16
+ [Body, Button, Card, Title, Flex, Link, Badge]
17
+ )
8
18
 
9
- test('Global Props: Returns ordinal suffixed class name', () => {
10
- for(let x = 0, y = 2; x < y; ++x) {
11
- const testId = `${testSubject}-${x}`
12
- render(
13
- <Body
14
- data={{ testid: testId }}
15
- flexShrink={x}
16
- text="Hi"
17
- />
18
- )
19
- const kit = screen.getByTestId(testId)
20
- expect(kit).toHaveClass(`flex_shrink_${x}`)
19
+ testGlobalPropResponsiveWithDefault(
20
+ 'flexShrink',
21
+ { default: 0, xs: 1, sm: 0, md: 1 },
22
+ (v) => `flex_shrink_${v}`,
23
+ (size, v) => `flex_shrink_${size}_${v}`
24
+ )
21
25
 
22
- SCREEN_SIZES.forEach((size) => {
23
- const testId = `${testSubject}-${x}-${size}`
24
- render(
25
- <Body
26
- data={{ testid: testId }}
27
- flexShrink={{ [size]: x }}
28
- text="Hi"
29
- />
30
- )
31
- const kit = screen.getByTestId(testId)
32
- expect(kit).toHaveClass(`flex_shrink_${size}_${x}`)
33
- })
34
- }
35
- })
26
+ testGlobalPropAbsence(
27
+ 'flexShrink',
28
+ ['flex_shrink_0', 'flex_shrink_1'],
29
+ undefined,
30
+ { skipNull: true }
31
+ )
36
32
 
37
- test('Global Props: returns proper class name with default key', () => {
38
- const testId = `${testSubject}-default-responsive`
39
- render(
40
- <Body
41
- data={{ testid: testId }}
42
- flexShrink={{ default: 0, xs: 1, sm: 0, md: 1 }}
43
- text="Hi"
44
- />
45
- )
46
- const kit = screen.getByTestId(testId)
47
- // Should have base class for default value
48
- expect(kit).toHaveClass(`flex_shrink_0`)
49
- // Should have responsive classes for screen sizes
50
- expect(kit).toHaveClass(`flex_shrink_xs_1`)
51
- expect(kit).toHaveClass(`flex_shrink_sm_0`)
52
- expect(kit).toHaveClass(`flex_shrink_md_1`)
53
- })
33
+ // NOTE: Currently using skipKnownIssues: true because globalProps.ts generates classes for invalid values
34
+ testGlobalPropInvalidValues(
35
+ 'flexShrink',
36
+ [2, -1, 999, 'invalid', 'bad_value', 'special-chars!@#'],
37
+ ['flex_shrink_2', 'flex_shrink_-1', 'flex_shrink_999', 'flex_shrink_invalid', 'flex_shrink_bad_value', 'flex_shrink_special-chars!@#'],
38
+ undefined,
39
+ { skipKnownIssues: true }
40
+ )